www.pudn.com > Mos.rar > JCB.h


// JCB.h: interface for the JCB class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_JCB_H__68DC5974_DF88_46FD_87A2_067AA487F740__INCLUDED_) 
#define AFX_JCB_H__68DC5974_DF88_46FD_87A2_067AA487F740__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
const int JCBMAX = 7; 
//status: 
const int JIN = 1; 
const int JREADY = 2; 
const int JRUN = 3; 
const int JEND = 4; 
const int JOUT = 5; 
//error: 
const int ADDROVER =1; 
const int ILLINS = 2; 
const int INSOUT = 3; 
const int OUTOVER = 4; 
const int TIMEOVER = 5; 
const int READOUT = 6; 
const int OVERFLOW = 7; 
const int NJOE = 8; 
const int NPOB = 9; 
const int NPOE = 10; 
const int NDOE = 11; 
 
struct jcbtype 
{ 
	char name[4]; 
	int  resultline; 
	int  error; 
	int  eraddr; 
	//int  jobtime;//用户作业时间 
	int  time;//估计作业时间 
	int  jcputime;//实际运行时间 
	int  line;//估计最大输出行数 
	int  rpadd;//指令磁道 
	int  rplen; 
	int  rdadd;//数据磁道 
	int  rdlen; 
	int  wdadd;//输出井磁道 
	int  wdlen; 
	char jpc[2]; 
	char jc; 
	char jr[4]; 
	int  jio; 
	int  logintime; 
	int  logouttime; 
	jcbtype *jnext; 
}; 
class JCB   
{ 
public: 
	JCB(); 
	virtual ~JCB(); 
	jcbtype  JcbTab[JCBMAX];//声明静态变量 
	jcbtype* jcb_head; 
	jcbtype* jcb_tail; 
	jcbtype* out_head; 
	jcbtype* out_tail; 
	jcbtype* jcbfree_head; 
	jcbtype* jcbfree_tail; 
	int      free_jcb_count; 
}; 
 
#endif // !defined(AFX_JCB_H__68DC5974_DF88_46FD_87A2_067AA487F740__INCLUDED_)