/*
   b_ptr_sigaction.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 Wednesday, May 23 at 11:24 AM EDT

TITLE
   b_ptr_sigaction.h
*/

//include control
#ifndef B_PTR_SIGACTION_H
#define B_PTR_SIGACTION_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"

#define structSigactionPtr struct sigaction*
#include <signal.h>
#include "b_ptr_buf.h"
#define CLASSTYPE structSigactionPtr
#define CLASSNAME b_ptr_sigaction
#define CLASS_STRING "b_ptr_sigaction"
#define CLASSPARENT b_ptr_buf
#define NUMBER_OF_DIALS 4


class CLASSNAME:public CLASSPARENT
{
private:
  //CLASS DIAL SETTING STRING VARIABLES
  b_param _b_ptr_sigactionTYPENAME;
b_param _b_ptr_sigactionNULL;
int b_ptr_sigaction_null;
b_param _b_ptr_sigactionSIG_DFL;
int b_ptr_sigaction_sig_dfl;
b_param _b_ptr_sigactionSIG_IGN;
int b_ptr_sigaction_sig_ign;
b_param _b_ptr_sigactionUSR_FUNC;
int b_ptr_sigaction_usr_func;
b_param _b_ptr_sigactionSIG_ERR;
int b_ptr_sigaction_sig_err;
b_param _b_ptr_sigactionEMPTY;
int b_ptr_sigaction_empty;
b_param _b_ptr_sigactionFULL;
int b_ptr_sigaction_full;
b_param _b_ptr_sigactionSIGABRT;
int b_ptr_sigaction_sigabrt;
b_param _b_ptr_sigactionSIGSEGV;
int b_ptr_sigaction_sigsegv;
b_param _b_ptr_sigactionSIGINT;
int b_ptr_sigaction_sigint;
b_param _b_ptr_sigactionSIGILL;
int b_ptr_sigaction_sigill;
b_param _b_ptr_sigactionZERO;
int b_ptr_sigaction_zero;
b_param _b_ptr_sigactionMAXINT;
int b_ptr_sigaction_maxint;
b_param _b_ptr_sigactionSA_NOCLDSTOP_SET;
int b_ptr_sigaction_sa_nocldstop_set;
b_param _b_ptr_sigactionSA_SIGINFO_SET;
int b_ptr_sigaction_sa_siginfo_set;
b_param _b_ptr_sigactionSA_ONSTACK;
int b_ptr_sigaction_sa_onstack;
b_param _b_ptr_sigactionSA_RESTART;
int b_ptr_sigaction_sa_restart;
b_param _b_ptr_sigactionSA_ALL;
int b_ptr_sigaction_sa_all;
b_param _b_ptr_sigactionNO_EXTRA;
int b_ptr_sigaction_no_extra;
b_param _b_ptr_sigactionSA_ZERO;
int b_ptr_sigaction_sa_zero;
b_param _b_ptr_sigactionSA_MAXINT;
int b_ptr_sigaction_sa_maxint;
b_param _b_ptr_sigactionACTION_NULL;
int b_ptr_sigaction_action_null;
b_param _b_ptr_sigactionACTION_USR_FUNC;
int b_ptr_sigaction_action_usr_func;
  //TYPE VARIABLE TO SAVE VALUE FOR DESTRUCTION
  CLASSTYPE _theVariable;

 public:
  //CLASS DIAL SETTING STRING ACCESS METHODS
b_param *b_ptr_sigactionNULL();
b_param *b_ptr_sigactionSIG_DFL();
b_param *b_ptr_sigactionSIG_IGN();
b_param *b_ptr_sigactionUSR_FUNC();
b_param *b_ptr_sigactionSIG_ERR();
b_param *b_ptr_sigactionEMPTY();
b_param *b_ptr_sigactionFULL();
b_param *b_ptr_sigactionSIGABRT();
b_param *b_ptr_sigactionSIGSEGV();
b_param *b_ptr_sigactionSIGINT();
b_param *b_ptr_sigactionSIGILL();
b_param *b_ptr_sigactionZERO();
b_param *b_ptr_sigactionMAXINT();
b_param *b_ptr_sigactionSA_NOCLDSTOP_SET();
b_param *b_ptr_sigactionSA_SIGINFO_SET();
b_param *b_ptr_sigactionSA_ONSTACK();
b_param *b_ptr_sigactionSA_RESTART();
b_param *b_ptr_sigactionSA_ALL();
b_param *b_ptr_sigactionNO_EXTRA();
b_param *b_ptr_sigactionSA_ZERO();
b_param *b_ptr_sigactionSA_MAXINT();
b_param *b_ptr_sigactionACTION_NULL();
b_param *b_ptr_sigactionACTION_USR_FUNC();
  //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
