Beispiel #1
0
int cmd_memory(char *param)
{
	displayString(TEXT_MEMORY_ENVIRONMENT
		, mcb_length(env_glbSeg), env_freeCount(env_glbSeg));
	displayString(TEXT_MEMORY_CONTEXT
		, mcb_length(ctxt), env_freeCount(ctxt));
	displayTag(TEXT_MEMORY_CTXT_ALIAS, CTXT_TAG_ALIAS);
	displayTag(TEXT_MEMORY_CTXT_HISTORY, CTXT_TAG_HISTORY);
	displayTag(TEXT_MEMORY_CTXT_DIRSTACK, CTXT_TAG_DIRSTACK);
	displayTag1(TEXT_MEMORY_CTXT_LASTDIR, CTXT_TAG_LASTDIR);
/*	displayTag1(TEXT_MEMORY_CTXT_BATCH, CTXT_TAG_BATCH);
	not used, yet -- 2001/06/11 ska*/
	displayTag1(TEXT_MEMORY_CTXT_SWAPINFO, CTXT_TAG_SWAPINFO);
	displayString(TEXT_MEMORY_HEAP, (unsigned long)coreleft());

	return 0;
}
Beispiel #2
0
word env_freeCount(const word segm)
{	DBG_ENTER("env_firstCount", Suppl_env)
	DBG_ARGUMENTS( ("env=%u", segm) )

	chkMem
	
	assert(segm != 0);

	DBG_RETURN_BU( mcb_length(segm) - env_firstFree(segm))
}
Beispiel #3
0
int cmd_memory(char *param)
{
	displayString(TEXT_MEMORY_ENVIRONMENT
		, mcb_length(env_glbSeg), env_freeCount(env_glbSeg));
	displayString(TEXT_MEMORY_CONTEXT
		, mcb_length(ctxtSegm), env_freeCount(ctxtSegm));
	displayTag(TEXT_MEMORY_CTXT_ALIAS, CTXT_TAG_ALIAS);
	displayTag(TEXT_MEMORY_CTXT_HISTORY, CTXT_TAG_HISTORY);
	displayTag(TEXT_MEMORY_CTXT_DIRSTACK, CTXT_TAG_DIRSTACK);
	displayTag1(TEXT_MEMORY_CTXT_LASTDIR, CTXT_TAG_LASTDIR);
	displayTag1(TEXT_MEMORY_CTXT_ARG, CTXT_TAG_ARG);
	displayTag1(TEXT_MEMORY_CTXT_SWAPINFO, CTXT_TAG_SWAPINFO);
	displayTag1(TEXT_MEMORY_CTXT_EXEC, CTXT_TAG_EXEC);
	displayTag1(TEXT_MEMORY_CTXT_STRING, CTXT_TAG_STRING);
	displayTag2(TEXT_MEMORY_CTXT_FLAG, CTXT_TAG_FLAG);
	displayTag2(TEXT_MEMORY_CTXT_IVAR, CTXT_TAG_IVAR);
	displayString(TEXT_MEMORY_HEAP, (unsigned long)coreleft(), getFree);
	displaySize(TEXT_MEMORY_DOSMEM, DOSalloc(0, 0x80 | 0x10));

	return 0;
}
Beispiel #4
0
void saveSession(void)
{
	if(ctxt && swapContext) {
		ctxtSavedSize = mcb_length(ctxt);
		dprintf(("[MEM: save context: %u bytes from 0x%04x]\n"
		 , ctxtSavedSize, ctxt)); 
		ctxtSavePtr = malloc(ctxtSavedSize);
		if(ctxtSavePtr) {
			_fmemcpy(ctxtSavePtr, MK_FP(ctxt,0), ctxtSavedSize);		
			DOSfree(ctxt);
#ifdef DEBUG
			ctxt = 0;
#endif
		}
	}
}
Beispiel #5
0
int env_nullStrings(word segm)
{	word ofs;

	DBG_ENTER("env_nullStrings", Suppl_env)
	DBG_ARGUMENTS( ("env=%u", segm) )

	chkMem
	
	unless_segm(segm)
		DBG_RETURN_I( ESUPPL_NOENV)

	DBG_ARGUMENTS( ("effective env=%u", segm) )

	ofs = env_endOfVars(segm) + 1;		/* offset of string counter word */
	if(mcb_length(segm) - 2 <= ofs)
		DBG_RETURN_I( ESUPPL_NOMEM)

	pokew(segm, ofs, 0);
	chkMem
	
	DBG_RETURN_I( ESUPPL_OK)
}