/*
   b_ptr_termios.h   Generated by the Ballista(tm) Project data object compiler
   Copyright (C) 1998-2001  Carnegie Mellon University

   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License
   as published by the Free Software Foundation; either version 2
   of the License, or (at your option) any later version.

   This program 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 General Public License for more details.

   You should have received a copy of the GNU 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.

   File generated Tuesday, May 22 at 09:53 PM EDT

TITLE
   b_ptr_termios.h
*/

//include control
#ifndef B_PTR_TERMIOS_H
#define B_PTR_TERMIOS_H
#include <errno.h>
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <stream.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include "bTypes.h"

#include <termios.h>
#include "b_ptr_buf.h"
#define structTermiosPtr struct termios*
#define CLASSTYPE structTermiosPtr
#define CLASSNAME b_ptr_termios
#define CLASS_STRING "b_ptr_termios"
#define CLASSPARENT b_ptr_buf
#define NUMBER_OF_DIALS 6


class CLASSNAME:public CLASSPARENT
{
private:
  //CLASS DIAL SETTING STRING VARIABLES
  b_param _b_ptr_termiosTYPENAME;
b_param _b_ptr_termiosBRKINT_SET;
int b_ptr_termios_brkint_set;
b_param _b_ptr_termiosPARMRK_SET;
int b_ptr_termios_parmrk_set;
b_param _b_ptr_termiosI_MAXINT;
int b_ptr_termios_i_maxint;
b_param _b_ptr_termiosI_NEGONE;
int b_ptr_termios_i_negone;
b_param _b_ptr_termiosI_ONE;
int b_ptr_termios_i_one;
b_param _b_ptr_termiosI_ZERO;
int b_ptr_termios_i_zero;
b_param _b_ptr_termiosOPOST_SET;
int b_ptr_termios_opost_set;
b_param _b_ptr_termiosO_MAXINT;
int b_ptr_termios_o_maxint;
b_param _b_ptr_termiosO_NEGONE;
int b_ptr_termios_o_negone;
b_param _b_ptr_termiosO_ONE;
int b_ptr_termios_o_one;
b_param _b_ptr_termiosO_ZERO;
int b_ptr_termios_o_zero;
b_param _b_ptr_termiosCLOCAL_SET;
int b_ptr_termios_clocal_set;
b_param _b_ptr_termiosPARENB_SET;
int b_ptr_termios_parenb_set;
b_param _b_ptr_termiosPARODD_SET;
int b_ptr_termios_parodd_set;
b_param _b_ptr_termiosC_MAXINT;
int b_ptr_termios_c_maxint;
b_param _b_ptr_termiosC_NEGONE;
int b_ptr_termios_c_negone;
b_param _b_ptr_termiosC_ONE;
int b_ptr_termios_c_one;
b_param _b_ptr_termiosC_ZERO;
int b_ptr_termios_c_zero;
b_param _b_ptr_termiosECHOK_SET;
int b_ptr_termios_echok_set;
b_param _b_ptr_termiosICANON_SET;
int b_ptr_termios_icanon_set;
b_param _b_ptr_termiosIEXTEN_SET;
int b_ptr_termios_iexten_set;
b_param _b_ptr_termiosL_MAXINT;
int b_ptr_termios_l_maxint;
b_param _b_ptr_termiosL_NEGONE;
int b_ptr_termios_l_negone;
b_param _b_ptr_termiosL_ONE;
int b_ptr_termios_l_one;
b_param _b_ptr_termiosL_ZERO;
int b_ptr_termios_l_zero;
b_param _b_ptr_termiosCC_UNSET;
int b_ptr_termios_cc_unset;
b_param _b_ptr_termiosCC_VKILL;
int b_ptr_termios_cc_vkill;
b_param _b_ptr_termiosCC_VMIN;
int b_ptr_termios_cc_vmin;
b_param _b_ptr_termiosZERO;
int b_ptr_termios_zero;
b_param _b_ptr_termiosTHREE_HUNDRED;
int b_ptr_termios_three_hundred;
b_param _b_ptr_termiosTHREE8400;
int b_ptr_termios_three8400;
b_param _b_ptr_termiosNEG1;
int b_ptr_termios_neg1;
b_param _b_ptr_termiosUNSET;
int b_ptr_termios_unset;
  //TYPE VARIABLE TO SAVE VALUE FOR DESTRUCTION
  CLASSTYPE _theVariable;

 public:
  //CLASS DIAL SETTING STRING ACCESS METHODS
b_param *b_ptr_termiosBRKINT_SET();
b_param *b_ptr_termiosPARMRK_SET();
b_param *b_ptr_termiosI_MAXINT();
b_param *b_ptr_termiosI_NEGONE();
b_param *b_ptr_termiosI_ONE();
b_param *b_ptr_termiosI_ZERO();
b_param *b_ptr_termiosOPOST_SET();
b_param *b_ptr_termiosO_MAXINT();
b_param *b_ptr_termiosO_NEGONE();
b_param *b_ptr_termiosO_ONE();
b_param *b_ptr_termiosO_ZERO();
b_param *b_ptr_termiosCLOCAL_SET();
b_param *b_ptr_termiosPARENB_SET();
b_param *b_ptr_termiosPARODD_SET();
b_param *b_ptr_termiosC_MAXINT();
b_param *b_ptr_termiosC_NEGONE();
b_param *b_ptr_termiosC_ONE();
b_param *b_ptr_termiosC_ZERO();
b_param *b_ptr_termiosECHOK_SET();
b_param *b_ptr_termiosICANON_SET();
b_param *b_ptr_termiosIEXTEN_SET();
b_param *b_ptr_termiosL_MAXINT();
b_param *b_ptr_termiosL_NEGONE();
b_param *b_ptr_termiosL_ONE();
b_param *b_ptr_termiosL_ZERO();
b_param *b_ptr_termiosCC_UNSET();
b_param *b_ptr_termiosCC_VKILL();
b_param *b_ptr_termiosCC_VMIN();
b_param *b_ptr_termiosZERO();
b_param *b_ptr_termiosTHREE_HUNDRED();
b_param *b_ptr_termiosTHREE8400();
b_param *b_ptr_termiosNEG1();
b_param *b_ptr_termiosUNSET();
  //CLASS CONSTRUCTOR
  CLASSNAME();

public:
  //Mandatory Methods
  b_param *typeName();           //returns the type of parameter
  virtual void *access(b_param data[]);
  virtual int commit(b_param tname);
  virtual int cleanup(b_param tname);
  
  virtual int numDials(b_param tname);
  virtual int numItems(b_param tname,int dialNumber);
  virtual b_param *paramName(b_param tname,int dialNumber, int position);

  virtual int distanceFromBase();
  virtual void typeList(b_param list[],int num);
  
};



#endif      //CLASSNAME_H
