/*++ Copyright (c) 1991 Microsoft Corporation Module Name: tc.c Abstract: Implementation of PSX termical control Author: Ellen Aycock-Wright (ellena) 05-Aug-1991 Revision History: --*/ #include "psxsrv.h" BOOLEAN PsxTcGetAttr ( IN PPSX_PROCESS p, IN OUT PPSX_API_MSG m ) { PPSX_TCGETATTR_MSG args; PFILEDESCRIPTOR Fd; args = &m->u.TcGetAttr; Fd = FdIndexToFd(p, args->FileDes); if (!Fd) { m->Error = EBADF; return TRUE; } if (&ConVectors == Fd->SystemOpenFileDesc->IoNode->IoVectors) { m->ReturnValue = 0; return TRUE; } m->Error = ENOTTY; return TRUE; } BOOLEAN PsxTcSetAttr ( IN PPSX_PROCESS p, IN OUT PPSX_API_MSG m ) { PPSX_TCSETATTR_MSG args; PFILEDESCRIPTOR Fd; args = &m->u.TcSetAttr; Fd = FdIndexToFd(p, args->FileDes); if (!Fd) { m->Error = EBADF; return TRUE; } if (&ConVectors == Fd->SystemOpenFileDesc->IoNode->IoVectors) { m->ReturnValue = 0; return TRUE; } m->Error = ENOTTY; return TRUE; } BOOLEAN PsxTcSendBreak ( IN PPSX_PROCESS p, IN OUT PPSX_API_MSG m ) { PPSX_TCSENDBREAK_MSG args; PFILEDESCRIPTOR Fd; args = &m->u.TcSendBreak; Fd = FdIndexToFd(p, args->FileDes); if (!Fd) { m->Error = EBADF; return TRUE; } m->Error = ENOTTY; return TRUE; } BOOLEAN PsxTcDrain ( IN PPSX_PROCESS p, IN OUT PPSX_API_MSG m ) { PPSX_TCDRAIN_MSG args; PFILEDESCRIPTOR Fd; args = &m->u.TcDrain; Fd = FdIndexToFd(p, args->FileDes); if (!Fd) { m->Error = EBADF; return TRUE; } m->Error = ENOTTY; return TRUE; } BOOLEAN PsxTcFlush ( IN PPSX_PROCESS p, IN OUT PPSX_API_MSG m ) { PPSX_TCFLUSH_MSG args; PFILEDESCRIPTOR Fd; args = &m->u.TcFlush; Fd = FdIndexToFd(p, args->FileDes); if (!Fd) { m->Error = EBADF; return TRUE; } m->Error = ENOTTY; return TRUE; } BOOLEAN PsxTcFlow ( IN PPSX_PROCESS p, IN OUT PPSX_API_MSG m ) { PPSX_TCFLOW_MSG args; PFILEDESCRIPTOR Fd; args = &m->u.TcFlow; Fd = FdIndexToFd(p, args->FileDes); if (!Fd) { m->Error = EBADF; return TRUE; } m->Error = ENOTTY; return TRUE; } BOOLEAN PsxTcGetPGrp ( IN PPSX_PROCESS p, IN OUT PPSX_API_MSG m ) { PPSX_TCGETPGRP_MSG args; PFILEDESCRIPTOR Fd; args = &m->u.TcGetPGrp; Fd = FdIndexToFd(p, args->FileDes); if (!Fd) { m->Error = EBADF; return TRUE; } m->Error = ENOTTY; return TRUE; } BOOLEAN PsxTcSetPGrp ( IN PPSX_PROCESS p, IN OUT PPSX_API_MSG m ) { PPSX_TCSETPGRP_MSG args; PFILEDESCRIPTOR Fd; args = &m->u.TcSetPGrp; Fd = FdIndexToFd(p, args->FileDes); if (!Fd) { m->Error = EBADF; return TRUE; } m->Error = ENOTTY; return TRUE; }