//  This may look like C code, but it is really -*- C++ -*-

//  ------------------------------------------------------------------
//  The Goldware Library
//  Copyright (C) 1990-1999 Odinn Sorensen
//  ------------------------------------------------------------------
//  This library is free software; you can redistribute it and/or
//  modify it under the terms of the GNU Library General Public
//  License as published by the Free Software Foundation; either
//  version 2 of the License, or (at your option) any later version.
//
//  This library is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
//  Library General Public License for more details.
//
//  You should have received a copy of the GNU Library General Public
//  License along with this program; if not, write to the Free
//  Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
//  MA 02111-1307, USA
//  ------------------------------------------------------------------
//  $Id$
//  ------------------------------------------------------------------
//  Unix keyboard functions. Based on SLang source code.
//  ------------------------------------------------------------------

#ifndef __gutlunix_h
#define __gutlunix_h


//  ------------------------------------------------------------------

#ifdef _POSIX_VDISABLE
#  define NULL_VALUE (unsigned)_POSIX_VDISABLE
#else
#  define NULL_VALUE 255
#endif

#ifdef __BEOS__
#include <net/socket.h> // defintions of FD_xx - to avoid problems with code below 
#endif

//  ------------------------------------------------------------------

#ifndef FD_SET
#define FD_SET(fd, tthis)    *(tthis) = 1 << (fd)
#define FD_ZERO(tthis)       *(tthis) = 0
#define FD_ISSET(fd, tthis) (*(tthis) & (1 << fd))
typedef int fd_set;
#endif


//  ------------------------------------------------------------------

#define GET_TERMIOS(fd, x) tcgetattr(fd, x)
#define SET_TERMIOS(fd, x) tcsetattr(fd, TCSADRAIN, x)


//  ------------------------------------------------------------------

#endif

//  ------------------------------------------------------------------
