亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? system.c

?? 日本著名的的嵌入式實(shí)時(shí)操作系統(tǒng)T-Kernel的源碼及用戶(hù)手冊(cè)。
?? C
字號(hào):
/* *---------------------------------------------------------------------- *    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. * *---------------------------------------------------------------------- *//* *	system.c (T-Kernel/SM) *	System Information Management Function *	System Memory Management Function */#include "sysmgr.h"#include "syslog.h"#include <sys/imalloc.h>#include <sys/commarea.h>#include <sys/svc/ifsysmgr.h>#include <sys/sysinfo.h>#define	SYSCONF		( SCInfo.sysconf )#define	DEVCONF		( SCInfo.devconf )/* ------------------------------------------------------------------------ *//* *	System information management function *//* * Search 'name' information *	If it is not found, return NULL. */LOCAL UB* search_conf( UB *cp, UB *name ){	INT	len = strlen(name);	UB	*p;	while ( *cp != '\0' ) {		if ( *cp == name[0] ) {			for ( p = cp; *p > ' ' && *p != '#'; ++p );			if ( p - cp == len && memcmp(cp, name, len) == 0 ) {				return cp; /* Found */			}		}		/* Next */		while ( *cp != '\0' && *cp++ != '\n' );	}	return NULL;}/* * Skip to the next word *	If it is the end, return NULL. */LOCAL UB* skip_next( UB *p ){	UB	c;	/* Skip reading current word */	while ( (c = *p) > ' ' && c != '#' ) ++p;	/* Skip reading word separators */	while ( (c = *p) != '\0' ) {		if ( c == '\n' || c == '#' ) break;		if ( c > ' ' ) return p;		p++;	}	return NULL;}/* * Get numeric value information */LOCAL INT getcfn( UB *conf, UB *name, INT *val, INT max ){	UB	*p;	INT	v, n;	p = search_conf(conf, name);	if ( p == NULL ) return E_NOEXS; /* Not found */	n = 0;	while ( (p = skip_next(p)) != NULL ) {		v = strtol((char*)p, (char**)&p, 0);		if ( max-- > 0 ) *val++ = v;		n++;	}	return n;}/* * Get string information */LOCAL INT getcfs( UB *conf, UB *name, UB *bp, INT max ){	UB	*p, *sp, c;	p = search_conf(conf, name);	if ( p == NULL ) return E_NOEXS; /* Not found */	sp = skip_next(p);	if ( sp == NULL ) return 0; /* Date is not defined */	for ( p = sp; (c = *p) != '\0'; ++p ) {		if ( c == '\n' || c == '#' ) break;		if ( max-- > 0 ) *bp++ = c;	}	if ( max > 0 ) *bp = '\0';	return p - sp;}/* * Get system information (numeric values) *	Call directly from T-Kernel/OS. *	Do not call system call and extension SVC because  *	they are also called during starting system. */EXPORT INT _tk_get_cfn( UB *name, INT *val, INT max ){	INT	n;	n = getcfn(SYSCONF, name, val, max);	if ( n < 0 ) {		n = getcfn(DEVCONF, name, val, max);	}	if ( n < 0 ) goto err_ret;	return n;err_ret:	BMS_DEBUG_PRINT(("_tk_get_cfn err = %d\n", n));	return n;}/* * Get system information (numeric values) */LOCAL INT __tk_get_cfn( UB *name, INT *val, INT max ){	ER	err;	err = ChkSpaceBstrR(name, 0);	if ( err < E_OK ) goto err_ret;	err = ChkSpaceRW(val, sizeof(INT) * max);	if ( err < E_OK ) goto err_ret;	err = _tk_get_cfn(name, val, max);	if ( err < E_OK ) goto err_ret;	return err;err_ret:	DEBUG_PRINT(("__tk_get_cfn err = %d\n", err));	return err;}/* * Get system information (strings) *	Call directly from T-Kernel/OS. *	Do not call system call and extension SVC because  *	they are also called during starting system. */EXPORT INT _tk_get_cfs( UB *name, UB *buf, INT max ){	INT	n;	n = getcfs(SYSCONF, name, buf, max);	if ( n < 0 ) {		n = getcfs(DEVCONF, name, buf, max);	}	if ( n < 0 ) goto err_ret;	return n;err_ret:	BMS_DEBUG_PRINT(("_tk_get_cfs err = %d\n", n));	return n;}/* * Get system information (strings) */LOCAL INT __tk_get_cfs( UB *name, UB *buf, INT max ){	ER	err;	err = ChkSpaceBstrR(name, 0);	if ( err < E_OK ) goto err_ret;	err = ChkSpaceRW(buf, max);	if ( err < E_OK ) goto err_ret;	err = _tk_get_cfs(name, buf, max);	if ( err < E_OK ) goto err_ret;	return err;err_ret:	DEBUG_PRINT(("__tk_get_cfs err = %d\n", err));	return err;}/* ------------------------------------------------------------------------ *//* *	System memory management function * *	Only the extension SVC entry part is processed. Real memory  *	management function is in virtual storage system and real storage *	system respectively. *	In virtual storage system, execute by the upper memory management  *	function. *	Real storage system has the memory management function in  *	T-Kernel/SM. */#define	VALID_MEMATR	(TA_RNG3 | TA_NORESIDENT | TA_NOCACHE)/* * Get system memory */LOCAL ER _tk_get_smb( VP *addr, INT nblk, UINT attr ){	ER	err;	if ( (attr & ~VALID_MEMATR) != 0 ) { err = E_PAR; goto err_ret; }	err = ChkSpaceRW(addr, sizeof(VP));	if ( err < E_OK ) goto err_ret;	*addr = GetSysMemBlk(nblk, attr);	if ( *addr == NULL ) { err = E_NOMEM; goto err_ret; }	return E_OK;err_ret:	DEBUG_PRINT(("_tk_get_smb err = %d\n", err));	return err;}/* * Free system memory */LOCAL ER _tk_rel_smb( VP addr ){	ER	err;	err = RelSysMemBlk(addr);	if ( err < E_OK ) goto err_ret;	return E_OK;err_ret:	DEBUG_PRINT(("_tk_rel_smb err = %d\n", err));	return err;}/* * Get system memory information */LOCAL ER _tk_ref_smb( T_RSMB *pk_rsmb ){	ER	err;	err = ChkSpaceRW(pk_rsmb, sizeof(T_RSMB));	if ( err < E_OK ) goto err_ret;	err = RefSysMemInfo(pk_rsmb);	if ( err < E_OK ) goto err_ret;	return E_OK;err_ret:	DEBUG_PRINT(("_tk_ref_smb err = %d\n", err));	return err;}/* ------------------------------------------------------------------------ *//* *	Kernel shared data */LOCAL	CommArea	_CommArea;	/* Kernel shared data area */IMPORT	CommArea	*__CommArea;	/* libtk *//* * Get Kernel shared data */LOCAL ER __GetKernelCommonArea( CommArea **area ){	*area = &_CommArea;	return E_OK;}/* * Kernel shared data initial setting */LOCAL void initKernelCommonArea( void ){	INT	n, val;	__CommArea = &_CommArea;	n = _tk_get_cfn("TEV_FFLock", &val, 1);	_CommArea.tev_fflock = ( n > 0 )? val: 0;}/* ------------------------------------------------------------------------ *//* * Extension SVC entry  */LOCAL INT sysmgr_svcentry( VP pk_para, FN fncd ){	ER	err;	switch ( fncd ) {		/* Ignore protection level */	  case SYSTEM_TK_GET_CFN_FN:	  case SYSTEM_TK_GET_CFS_FN:	  case SYSTEM__SYSLOG_SEND_FN:		break;	  default:		/* Test call protection level */		err = ChkCallPLevel();		if ( err < E_OK ) goto err_ret;	}	switch ( fncd ) {	  case SYSTEM_TK_GET_CFN_FN:		{ SYSTEM_TK_GET_CFN_PARA *p = pk_para;		return __tk_get_cfn(p->name, p->val, p->max); }	  case SYSTEM_TK_GET_CFS_FN:		{ SYSTEM_TK_GET_CFS_PARA *p = pk_para;		return __tk_get_cfs(p->name, p->buf, p->max); }	  case SYSTEM_TK_GET_SMB_FN:		{ SYSTEM_TK_GET_SMB_PARA *p = pk_para;		return _tk_get_smb(p->addr, p->nblk, p->attr); }	  case SYSTEM_TK_REL_SMB_FN:		{ SYSTEM_TK_REL_SMB_PARA *p = pk_para;		return _tk_rel_smb(p->addr); }	  case SYSTEM_TK_REF_SMB_FN:		{ SYSTEM_TK_REF_SMB_PARA *p = pk_para;		return _tk_ref_smb(p->pk_rsmb); }	  case SYSTEM__GETKERNELCOMMONAREA_FN:		{ SYSTEM__GETKERNELCOMMONAREA_PARA *p = pk_para;		return __GetKernelCommonArea(p->area); }	  case SYSTEM__SYSLOG_SEND_FN:		{ SYSTEM__SYSLOG_SEND_PARA *p = pk_para;		return __syslog_send(p->string, p->len); }	}	err = E_RSFN;err_ret:	DEBUG_PRINT(("sysmgr_svcentry err = %d\n", err));	return err;}/* * Initialization of system management */EXPORT ER initialize_sysmgr( void ){	T_DSSY	dssy;	ER	err;	/* Kernel shared data area setting */	initKernelCommonArea();	/* syslog initialization sequence */	err = initialize_syslog();	if ( err < E_OK ) goto err_ret;	/* subsystem registration */	dssy.ssyatr    = TA_NULL;	dssy.ssypri    = SYSTEM_PRI;	dssy.svchdr    = (FP)&sysmgr_svcentry;	dssy.breakfn   = NULL;	dssy.startupfn = NULL;	dssy.cleanupfn = NULL;	dssy.eventfn   = NULL;	dssy.resblksz  = 0;	err = tk_def_ssy(SYSTEM_SVC, &dssy);	if ( err < E_OK ) goto err_ret;	return E_OK;err_ret:	DEBUG_PRINT(("initialize_sysmgr err = %d\n", err));	return err;}/* * Finalization sequence of system management  */EXPORT ER finish_sysmgr( void ){	ER	err, error = E_OK;	/* Unregister subsystem */	err = tk_def_ssy(SYSTEM_SVC, NULL);	if ( err < E_OK ) error = err;	/* syslog finalization sequence */	err = finish_syslog();	if ( err < E_OK ) error = err;#ifdef DEBUG	if ( error < E_OK ) DEBUG_PRINT(("finish_sysmgr err = %d\n", error));#endif	return error;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级搡bbbb搡bbbb| 亚洲人亚洲人成电影网站色| 欧美日韩黄视频| 不卡一区在线观看| 捆绑紧缚一区二区三区视频| 亚洲激情在线激情| 一区精品在线播放| 日韩欧美一级特黄在线播放| 欧美日韩精品久久久| 在线观看成人免费视频| 91视频.com| av不卡在线播放| 波多野结衣一区二区三区| 国产一二三精品| 精品无码三级在线观看视频| 天堂资源在线中文精品| 亚洲综合色自拍一区| 亚洲免费av观看| 一区二区三区在线免费| 一区二区三区在线免费观看| 亚洲精品国产品国语在线app| 亚洲色图视频免费播放| 伊人婷婷欧美激情| 亚洲第一狼人社区| 日本不卡视频一二三区| 精品一区二区在线观看| 国产福利一区二区三区| 国产精品91一区二区| av影院午夜一区| 欧美性做爰猛烈叫床潮| 91精品国产综合久久精品性色| 日韩一区二区三区电影在线观看 | 2024国产精品| 中文字幕第一区第二区| 一区二区三区不卡视频在线观看| 丝袜国产日韩另类美女| 国内一区二区视频| 91视频xxxx| 精品久久久久久久一区二区蜜臀| 中文字幕不卡三区| 亚洲国产成人精品视频| 激情综合色综合久久| 97国产一区二区| 欧美一区二区私人影院日本| 性感美女极品91精品| 国产一区二区调教| 在线免费亚洲电影| 国产午夜精品一区二区三区嫩草| 亚洲区小说区图片区qvod| 激情国产一区二区| 欧美亚洲国产一区在线观看网站| 26uuu精品一区二区三区四区在线| 综合色中文字幕| 狠狠色伊人亚洲综合成人| 在线亚洲人成电影网站色www| 精品理论电影在线观看| 亚洲一二三区视频在线观看| 国产91对白在线观看九色| 91麻豆精品国产自产在线观看一区| 亚洲国产成人在线| 久久精品久久综合| 欧美日本一道本| 亚洲精品乱码久久久久久久久 | 亚洲成精国产精品女| 波多野结衣中文字幕一区| 久久久青草青青国产亚洲免观| 天堂成人免费av电影一区| 日本高清不卡在线观看| 国产精品成人在线观看| 成人av综合一区| 国产精品你懂的| 国产成人午夜精品影院观看视频| 日韩美女主播在线视频一区二区三区| 日韩黄色小视频| 91精品国产欧美一区二区成人 | 国产精品一卡二卡| 精品国一区二区三区| 欧美96一区二区免费视频| 在线不卡免费欧美| 蜜臀av国产精品久久久久| 日韩美女视频一区二区在线观看| 蜜臀av在线播放一区二区三区 | 亚洲一区二区三区四区不卡| 91在线精品秘密一区二区| 亚洲天堂网中文字| 91成人在线观看喷潮| 无吗不卡中文字幕| 日韩免费观看高清完整版| 韩国精品免费视频| 国产精品成人在线观看| 欧美在线你懂的| 秋霞电影一区二区| 国产午夜精品福利| 色呦呦网站一区| 日韩电影在线一区二区三区| wwwwww.欧美系列| av色综合久久天堂av综合| a亚洲天堂av| 亚洲福中文字幕伊人影院| 日韩免费看网站| 国产成人在线视频免费播放| 精品一区二区国语对白| 中文一区一区三区高中清不卡| 99久久国产综合精品麻豆| 一区二区三区四区不卡视频| 欧美精品丝袜久久久中文字幕| 国内成+人亚洲+欧美+综合在线 | 国产精品免费aⅴ片在线观看| 欧美亚洲国产怡红院影院| 国内精品国产成人国产三级粉色 | 欧美三级韩国三级日本三斤| 秋霞电影一区二区| 国产精品国产三级国产三级人妇 | 成人性生交大片免费看中文网站| 日韩久久一区二区| 亚洲精品一线二线三线无人区| 色噜噜夜夜夜综合网| 国产裸体歌舞团一区二区| 亚洲国产精品精华液网站| 国产午夜精品久久久久久久| 91精品欧美久久久久久动漫| av毛片久久久久**hd| 久久99精品国产麻豆不卡| 亚洲午夜激情网站| 成人免费在线播放视频| 精品成a人在线观看| 91精品国产欧美日韩| 欧美三级韩国三级日本三斤| 99久久伊人精品| 国产精品一区一区三区| 日本网站在线观看一区二区三区| 亚洲精品免费在线观看| 亚洲手机成人高清视频| 日本一区二区三区在线观看| 日韩免费成人网| 欧美一区二区三区视频在线| 91.麻豆视频| 91麻豆精品国产91久久久久久久久 | 国产精品三级视频| 26uuu色噜噜精品一区二区| 91精品综合久久久久久| 91麻豆精品国产91久久久久| 欧美日韩在线播放| 欧美午夜影院一区| 欧美最猛性xxxxx直播| 欧美在线影院一区二区| 91精彩视频在线观看| 一本大道av伊人久久综合| 91香蕉视频mp4| 91成人网在线| 4438x亚洲最大成人网| 欧美白人最猛性xxxxx69交| 欧美va在线播放| 国产欧美精品一区二区三区四区 | 亚洲视频一区二区在线观看| 亚洲裸体xxx| 日日夜夜一区二区| 极品少妇xxxx精品少妇| 国产成a人无v码亚洲福利| av成人动漫在线观看| 欧美色成人综合| 日韩精品一区二区三区蜜臀| 26uuu精品一区二区三区四区在线| 中文字幕av一区二区三区免费看| 亚洲免费观看高清| 日韩电影在线免费看| 国产一区二区三区在线看麻豆| 成人激情av网| 欧美精品乱码久久久久久| 久久综合九色综合欧美亚洲| 综合久久久久久久| 天堂精品中文字幕在线| 国产成人亚洲综合a∨婷婷| 日本精品免费观看高清观看| 欧美大胆一级视频| 亚洲男同性恋视频| 韩国av一区二区三区在线观看| 色婷婷国产精品| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲激情图片小说视频| 久久91精品国产91久久小草| 色悠久久久久综合欧美99| 久久麻豆一区二区| 亚洲一区二区三区国产| 成人一区二区三区| 日韩欧美视频一区| 一区二区成人在线视频| 国产精品性做久久久久久| 欧美日韩视频在线一区二区| 日本一区二区视频在线| 老司机精品视频在线| 欧美在线观看一二区| 国产精品久久国产精麻豆99网站| 狠狠色综合日日| 日韩女优av电影在线观看| 日韩精品成人一区二区在线| 在线一区二区视频| 亚洲激情图片一区| 99久久婷婷国产综合精品电影| 久久久久久久久久久久久夜|