/*
 *
 */
 
#include "defsfile"

#include <sg_codes.h>
#include <ioedt.h>

//  only for demo for future use:
//    error_code config(Scf_lu_opts user_opts, Scf_lu_stat unit_stat);

getstat(ctrl_block, path_desc, device_entry)
I_getstat_pb  ctrl_block;		/* getstat control block pointer */
Scf_path_desc path_desc;		/* path descriptor pointer */
Dev_list	  device_entry;		/* device list entry pointer */
{
	if (ctrl_block->gs_code == SS_EDT)  {
		// do nothing for DIO
        ((Gs_edt_pb)ctrl_block->param_blk)->edition = EDT_SCF;
		return SUCCESS;
	}
	return E_UNKSVC;	/* return unknown service code error */
}

setstat(ctrl_block, path_desc, device_entry)
I_setstat_pb ctrl_block;			/* setstat control block pointer */
Scf_path_desc		  path_desc;			/* path descriptor pointer */
Dev_list			  device_entry;			/* device list entry pointer */
{
	register Scf_lu_stat unit_stat = device_entry->v_lu_stat;	
	register error_code	error = SUCCESS;	/* error condition code */

	switch(ctrl_block->ss_code)
	{
		case SS_LUOPT :
			/* setting the device options so call configuration routine */
			/* typical call to config():
                  error = config(((Ss_luopt_pb)ctrl_block->param_blk)->user_luopts,
						 ((Scf_lu_stat)path_desc->pd_common.pd_dev->v_lu_stat));
             */
			break;
			
		case SS_ENRTS :						/* enable RTS */
			break;

		case SS_DSRTS :						/* disable RTS */
			break;
			
		case SS_DCON :						/* signal on DCD on */
		case SS_DCOFF :					/* signal on DCD off */
			break;

		case SS_RELEASE :					/* clear signals on DCD changes */
			break;

		default :
			error = E_UNKSVC;               /* return unknown service */
			break;
	}
	return error;
}
