chkspc2.c

来自「嵌入式操作系统T-Kernel 完整代码」· C语言 代码 · 共 71 行

C
71
字号
/* *---------------------------------------------------------------------- *    T-Kernel * *    Copyright (C) 2004 by Ken Sakamura. All rights reserved. *    T-Kernel is distributed under the T-License. *---------------------------------------------------------------------- * *    Version:   1.01.00 *    Released by T-Engine Forum(http://www.t-engine.org) at 2004/6/28. * *---------------------------------------------------------------------- *//* *	@(#)chkspc2.c (libtk) * *	Address check  */#include <basic.h>#include <tk/syslib.h>#include <sys/segment.h>#if VIRTUAL_ADDRESS#include "getsvcenv.h"/* * Check address space (TC string) *	Checks to see that the memory area from str through to *	either TNULL or the max character is valid. *	If max = 0, the number of characters (max) is ignored.  * 	If the memory area is valid, the value returned is either *	the number of characters or the max value (through to the *	max character with max !=0 character and no TNULL). *	If the memory area is not valid, the error code is returned. */EXPORT INT ChkSpaceTstrR( TC *str, INT max ){	return ChkSpaceTstr(str, max, MA_READ, getsvcenv());}EXPORT INT ChkSpaceTstrRW( TC *str, INT max ){	return ChkSpaceTstr(str, max, MA_READ|MA_WRITE, getsvcenv());}#else /* VIRTUAL_ADDRESS */LOCAL INT chklen( TC *p, INT max ){	INT	len = 0;	while ( *p++ != TNULL ) {		len++;		if ( --max == 0 ) break;	}	return len;}EXPORT INT ChkSpaceTstrR( TC *str, INT max ){	return chklen(str, max);}EXPORT INT ChkSpaceTstrRW( TC *str, INT max ){	return chklen(str, max);}#endif /* VIRTUAL_ADDRESS */

⌨️ 快捷键说明

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