⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dos2udip.c

📁 gdb是linux下的一个远程调试环境.能让你很方便地调试linux下的代码.
💻 C
📖 第 1 页 / 共 3 页
字号:
{INCOMING_PARAMS(  UDIMemoryRange *KnownMemory;		/* Out */  UDIInt	*NumberOfRanges;	/* In/Out */  UDIUInt32	*ChipVersions;		/* Out */  UDIInt	*NumberOfChips;		/* In/Out */)UDIError err;    INPTR_PREPROCESS(NumberOfRanges);    INPTR_PREPROCESS(NumberOfChips);    OUTPTR_PREPROCESS_COUNT(KnownMemory, *(local.NumberOfRanges) * sizeof(UDIMemoryRange));    OUTPTR_PREPROCESS_COUNT(ChipVersions, *(local.NumberOfChips) * sizeof(UDIUInt32));    err = UDIGetTargetConfig(  	local.KnownMemory,  	local.NumberOfRanges,  	local.ChipVersions,  	local.NumberOfChips    );    OUTPTR_POSTPROCESS(NumberOfRanges);    OUTPTR_POSTPROCESS(NumberOfChips);    OUTPTR_POSTPROCESS_COUNT(KnownMemory, *(local.NumberOfRanges) * sizeof(UDIMemoryRange));    OUTPTR_POSTPROCESS_COUNT(ChipVersions, *(local.NumberOfChips) * sizeof(UDIUInt32));    return(err);}UDIError d386_UDICreateProcess (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS(  UDIPId	*PId;			/* Out */)UDIError err;    OUTPTR_PREPROCESS(PId);    err = UDICreateProcess(	local.PId    );    OUTPTR_POSTPROCESS(PId);    return(err);}UDIError d386_UDISetCurrentProcess (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS_NO_PTR(  UDIPId	PId;			/* In */  )    return(UDISetCurrentProcess(	in->PId    ));}UDIError d386_UDIDestroyProcess (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS_NO_PTR(  UDIPId	PId;			/* In */  )    return(UDIDestroyProcess(	in->PId    ));}UDIError d386_UDIInitializeProcess (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS(  UDIMemoryRange *ProcessMemory;	/* In */  UDIInt	NumberOfRanges;		/* In */  UDIResource	EntryPoint;		/* In */  CPUSizeT	*StackSizes;		/* In */  UDIInt	NumberOfStacks;		/* In */  char		*ArgString;		/* In */  )UDIError err;    INPTR_PREPROCESS_COUNT(ProcessMemory, in->NumberOfRanges * sizeof(UDIMemoryRange));    INPTR_PREPROCESS_COUNT(StackSizes, in->NumberOfStacks * sizeof(CPUSizeT));    INPTR_PREPROCESS_COUNT(ArgString, realptr_strlen((REALPTR)(in->ArgString))+1);    err = UDIInitializeProcess(	local.ProcessMemory,	in->NumberOfRanges,	in->EntryPoint,	local.StackSizes,	in->NumberOfStacks,	local.ArgString    );    return(err);}UDIError d386_UDIRead (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS(  UDIResource	From;			/* In */  UDIHostMemPtr	To;			/* Out */  UDICount	Count;			/* In */  UDISizeT	Size;			/* In */  UDICount	*CountDone;		/* Out */  UDIBool	HostEndian;		/* In */  )UDIError err;    OUTPTR_PREPROCESS_COUNT(To, in->Count * in->Size);    OUTPTR_PREPROCESS(CountDone);    err = UDIRead(	in->From,	local.To,	in->Count,	in->Size,	local.CountDone,	in->HostEndian    );    OUTPTR_POSTPROCESS_COUNT(To, *(local.CountDone) * in->Size);    OUTPTR_POSTPROCESS(CountDone);    return(err);}UDIError d386_UDIWrite  (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS(  UDIHostMemPtr	From;			/* In */  UDIResource	To;			/* In */  UDICount	Count;			/* In */  UDISizeT	Size;			/* In */  UDICount	*CountDone;		/* Out */  UDIBool	HostEndian;		/* In */  )UDIError err;    INPTR_PREPROCESS_COUNT (From, in->Count * in->Size);    OUTPTR_PREPROCESS(CountDone);    err = UDIWrite(	local.From,	in->To,	in->Count,	in->Size,	local.CountDone,	in->HostEndian    );    OUTPTR_POSTPROCESS(CountDone);    return(err);}UDIError d386_UDICopy (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS(  UDIResource	From;			/* In */  UDIResource	To;			/* In */  UDICount	Count;			/* In */  UDISizeT	Size;			/* In */  UDICount	*CountDone;		/* Out */  UDIBool	Direction;		/* In */ )UDIError err;    OUTPTR_PREPROCESS(CountDone);    err = UDICopy(	in->From,	in->To,	in->Count,	in->Size,	local.CountDone,	in->Direction    );    OUTPTR_POSTPROCESS(CountDone);    return(err);}UDIError d386_UDIExecute (void _far * rm_stk_ptr, int stacksize){/* no incoming parameters */    return(UDIExecute());}UDIError d386_UDIStep  (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS_NO_PTR(  UDIUInt32	Steps;			/* In */  UDIStepType   StepType;		/* In */  UDIRange      Range;			/* In */  )UDIError err;    err = UDIStep(	in->Steps,	in->StepType,	in->Range    );    return(err);}UDIVoid d386_UDIStop   (void _far * rm_stk_ptr, int stacksize){/* no incoming parameters, no return value */    UDIStop();}UDIError d386_UDIWait  (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS(  UDIInt32	MaxTime;		/* In */  UDIPId	*PId;			/* Out */  UDIUInt32	*StopReason;		/* Out */  )UDIError err;    OUTPTR_PREPROCESS(PId);    OUTPTR_PREPROCESS(StopReason);    err = UDIWait(	in->MaxTime,	local.PId,	local.StopReason    );    OUTPTR_POSTPROCESS(PId);    OUTPTR_POSTPROCESS(StopReason);    return(err);}UDIError d386_UDISetBreakpoint  (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS(  UDIResource	Addr;			/* In */  UDIInt32	PassCount;		/* In */  UDIBreakType	Type;			/* In */  UDIBreakId    *BreakId;		/* Out */  )UDIError err;    OUTPTR_PREPROCESS(BreakId);     err = UDISetBreakpoint(	in->Addr,	in->PassCount,	in->Type,	local.BreakId    );    OUTPTR_POSTPROCESS(BreakId);    return(err);}UDIError d386_UDIQueryBreakpoint   (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS(  UDIBreakId	BreakId;		/* In */  UDIResource	*Addr;			/* Out */  UDIInt32	*PassCount;		/* Out */  UDIBreakType	*Type;		/* Out */  UDIInt32	*CurrentCount;		/* Out */  )UDIError err;    OUTPTR_PREPROCESS(Addr);    OUTPTR_PREPROCESS(PassCount);    OUTPTR_PREPROCESS(Type);    OUTPTR_PREPROCESS(CurrentCount);    err = UDIQueryBreakpoint(	in->BreakId,	local.Addr,	local.PassCount,	local.Type,	local.CurrentCount    );    OUTPTR_POSTPROCESS(Addr);    OUTPTR_POSTPROCESS(PassCount);    OUTPTR_POSTPROCESS(Type);    OUTPTR_POSTPROCESS(CurrentCount);    return(err);}UDIError d386_UDIClearBreakpoint (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS_NO_PTR(  UDIBreakId	BreakId;		/* In */  )    return(UDIClearBreakpoint(	in->BreakId    ));}UDIError d386_UDIGetStdout (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS(  UDIHostMemPtr	Buf;			/* Out */  UDISizeT	BufSize;		/* In */  UDISizeT	*CountDone;		/* Out */  )UDIError err;    OUTPTR_PREPROCESS_COUNT(Buf, in->BufSize);    OUTPTR_PREPROCESS(CountDone);    err = UDIGetStdout(	local.Buf,	in->BufSize,	local.CountDone    );    OUTPTR_POSTPROCESS_COUNT(Buf, *(local.CountDone));    OUTPTR_POSTPROCESS(CountDone);    return(err);}UDIError d386_UDIGetStderr (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS(  UDIHostMemPtr	Buf;			/* Out */  UDISizeT	BufSize;		/* In */  UDISizeT	*CountDone;		/* Out */  )UDIError err;    OUTPTR_PREPROCESS_COUNT(Buf, in->BufSize);    OUTPTR_PREPROCESS(CountDone);    err = UDIGetStderr(	local.Buf,	in->BufSize,	local.CountDone    );    OUTPTR_POSTPROCESS_COUNT(Buf, *(local.CountDone));    OUTPTR_POSTPROCESS(CountDone);    return(err);}UDIError d386_UDIPutStdin (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS(  UDIHostMemPtr	Buf;			/* In */  UDISizeT	Count;			/* In */  UDISizeT	*CountDone;		/* Out */  )UDIError err;    INPTR_PREPROCESS_COUNT(Buf, in->Count);    OUTPTR_PREPROCESS(CountDone);    err = UDIPutStdin(	local.Buf,	in->Count,	local.CountDone    );    OUTPTR_POSTPROCESS(CountDone);    return(err);}UDIError d386_UDIStdinMode (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS(  UDIMode	*Mode;			/* Out */ )UDIError err;    OUTPTR_PREPROCESS(Mode);    err = UDIStdinMode(	local.Mode    );    OUTPTR_POSTPROCESS(Mode);    return(err);}UDIError d386_UDIPutTrans (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS(  UDIHostMemPtr	Buf;			/* In */  UDISizeT	Count;			/* In */  UDISizeT	*CountDone;		/* Out */  )UDIError err;    INPTR_PREPROCESS_COUNT(Buf, in->Count);    OUTPTR_PREPROCESS(CountDone);    err = UDIPutTrans(	local.Buf,	in->Count,	local.CountDone    );    OUTPTR_POSTPROCESS(CountDone);    return(err);}UDIError d386_UDIGetTrans (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS(  UDIHostMemPtr	Buf;			/* Out */  UDISizeT	BufSize;		/* In */  UDISizeT	*CountDone;		/* Out */  )UDIError err;    OUTPTR_PREPROCESS_COUNT(Buf, in->BufSize);    OUTPTR_PREPROCESS(CountDone);    err = UDIGetTrans(	local.Buf,	in->BufSize,	local.CountDone    );    OUTPTR_POSTPROCESS_COUNT(Buf, *(local.CountDone));    OUTPTR_POSTPROCESS(CountDone);    return(err);}UDIError d386_UDITransMode (void _far * rm_stk_ptr, int stacksize){INCOMING_PARAMS(  UDIMode	*Mode;			/* Out */ )UDIError err;    OUTPTR_PREPROCESS(Mode);    err = UDITransMode(	local.Mode    );    OUTPTR_POSTPROCESS(Mode);    return(err);}#endif/*==================== End of DOS386 glue routines ====================================*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -