/*
   b_oflag.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 06:41 PM EDT

TITLE
   b_oflag.h
*/

//include control
#ifndef B_OFLAG_H
#define B_OFLAG_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 <stdio.h>
#include <fcntl.h>
#include "b_int.h"

#define CLASSTYPE int
#define CLASSNAME b_oflag
#define CLASS_STRING "b_oflag"
#define CLASSPARENT b_int
#define NUMBER_OF_DIALS 10


class CLASSNAME:public CLASSPARENT
{
private:
  //CLASS DIAL SETTING STRING VARIABLES
  b_param _b_oflagTYPENAME;
b_param _b_oflagRDONLY_SET;
int b_oflag_rdonly_set;
b_param _b_oflagWRONLY_SET;
int b_oflag_wronly_set;
b_param _b_oflagRDWR_SET;
int b_oflag_rdwr_set;
b_param _b_oflagNONE;
int b_oflag_none;
b_param _b_oflagA_SET;
int b_oflag_a_set;
b_param _b_oflagA_CLEAR;
int b_oflag_a_clear;
b_param _b_oflagC_SET;
int b_oflag_c_set;
b_param _b_oflagC_CLEAR;
int b_oflag_c_clear;
b_param _b_oflagD_SET;
int b_oflag_d_set;
b_param _b_oflagD_CLEAR;
int b_oflag_d_clear;
b_param _b_oflagE_SET;
int b_oflag_e_set;
b_param _b_oflagE_CLEAR;
int b_oflag_e_clear;
b_param _b_oflagNCT_SET;
int b_oflag_nct_set;
b_param _b_oflagNCT_CLEAR;
int b_oflag_nct_clear;
b_param _b_oflagNBLK_SET;
int b_oflag_nblk_set;
b_param _b_oflagNBLK_CLEAR;
int b_oflag_nblk_clear;
b_param _b_oflagR_SET;
int b_oflag_r_set;
b_param _b_oflagR_CLEAR;
int b_oflag_r_clear;
b_param _b_oflagSYNC_SET;
int b_oflag_sync_set;
b_param _b_oflagSYNC_CLEAR;
int b_oflag_sync_clear;
b_param _b_oflagT_SET;
int b_oflag_t_set;
b_param _b_oflagT_CLEAR;
int b_oflag_t_clear;
  //TYPE VARIABLE TO SAVE VALUE FOR DESTRUCTION
  CLASSTYPE _theVariable;

 public:
  //CLASS DIAL SETTING STRING ACCESS METHODS
b_param *b_oflagRDONLY_SET();
b_param *b_oflagWRONLY_SET();
b_param *b_oflagRDWR_SET();
b_param *b_oflagNONE();
b_param *b_oflagA_SET();
b_param *b_oflagA_CLEAR();
b_param *b_oflagC_SET();
b_param *b_oflagC_CLEAR();
b_param *b_oflagD_SET();
b_param *b_oflagD_CLEAR();
b_param *b_oflagE_SET();
b_param *b_oflagE_CLEAR();
b_param *b_oflagNCT_SET();
b_param *b_oflagNCT_CLEAR();
b_param *b_oflagNBLK_SET();
b_param *b_oflagNBLK_CLEAR();
b_param *b_oflagR_SET();
b_param *b_oflagR_CLEAR();
b_param *b_oflagSYNC_SET();
b_param *b_oflagSYNC_CLEAR();
b_param *b_oflagT_SET();
b_param *b_oflagT_CLEAR();
  //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
