kernel.h ( File view )

  • By 2010-08-31
  • View(s):24
  • Download(s):2
  • Point(s): 1
			/*
 *  TOPPERS/JSP Kernel
 *      Toyohashi Open Platform for Embedded Real-Time Systems/
 *      Just Standard Profile Kernel
 * 
 *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
 *                              Toyohashi Univ. of Technology, JAPAN
 * 
 *  惧淡螟侯涪荚は・Free Software Foundation によって给山されている 
 *  GNU General Public License の Version 2 に淡揭されている掘凤か・笆
 *  布の(1)×(4)の掘凤を塔たす眷圭に嘎り・塑ソフトウェア∈塑ソフトウェ
 *  アを猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布・
 *  网脱と钙ぶ∷することを痰浸で钓满するˉ
 *  (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には・惧淡の螟侯
 *      涪山绩・この网脱掘凤および布淡の痰瘦沮惮年が・そのままの妨でソ〖
 *      スコ〖ド面に崔まれていることˉ
 *  (2) 塑ソフトウェアを浩网脱材墙なバイナリコ〖ド∈リロケ〖タブルオブ
 *      ジェクトファイルやライブラリなど∷の妨で网脱する眷圭には・网脱
 *      に燃うドキュメント∈网脱荚マニュアルなど∷に・惧淡の螟侯涪山绩・
 *      この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ
 *  (3) 塑ソフトウェアを浩网脱稍材墙なバイナリコ〖ドの妨または怠达に寥
 *      み哈んだ妨で网脱する眷圭には・肌のいずれかの掘凤を塔たすことˉ
 *    (a) 网脱に燃うドキュメント∈网脱荚マニュアルなど∷に・惧淡の螟侯
 *        涪山绩・この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ
 *    (b) 网脱の妨轮を・侍に年める数恕によって・惧淡螟侯涪荚に鼠桂する
 *        ことˉ
 *  (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄
 *      巢からも・惧淡螟侯涪荚を倘勒することˉ
 * 
 *  塑ソフトウェアは・痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚は・
 *  塑ソフトウェアに簇して・その努脱材墙拉も崔めて・いかなる瘦沮も乖わ
 *  ないˉまた・塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じたい
 *  かなる禄巢に簇しても・その勒扦を砷わないˉ
 * 
 *  @(#) $Id: kernel.h,v 1.7 2002/04/08 05:29:20 hiro Exp $
 */

/*
 *	μITRON4.0慌屯筛洁インクル〖ドファイル
 *
 *  このファイルでは・スタンダ〖ドプロファイルで涩妥なものだけを年盗し
 *  ているˉデ〖タ房の年盗は・スタンダ〖ドプロファイルを塔たすちょうど
 *  の墓さにはしていないˉ
 *  アセンブリ咐胳のソ〖スファイルやシステムコンフィギュレ〖ションファ
 *  イルからこのファイルをインクル〖ドする箕は・_MACRO_ONLY を年盗して
 *  おくことで・マクロ年盗笆嘲の淡揭を近くことができるˉ
 */

#ifndef _KERNEL_H_
#define _KERNEL_H_

/*
 *  ITRON慌屯鼎奶惮年のデ〖タ房ˇ年眶ˇマクロ
 */
#include <itron.h>

/*
 *  システムやプロセッサに巴赂する年盗
 */
#include <sys_defs.h>
#include <cpu_defs.h>

/*
 *  输锦マクロ
 */
#define	TROUND_VP(sz)	(((sz) + sizeof(VP) - 1) & ~(sizeof(VP) - 1))
#define	TCOUNT_VP(sz)	(((sz) + sizeof(VP) - 1) / sizeof(VP))

/*
 *  デ〖タ房の年盗
 */
#ifndef _MACRO_ONLY

typedef	UINT		TEXPTN;		/* タスク毋嘲妥傍のビットパタ〖ン */
typedef	UINT		FLGPTN;		/* イベントフラグのビットパタ〖ン */

typedef	struct t_msg {
			/* メ〖ルボックスのメッセ〖ジヘッダ */
	struct t_msg	*next;

} T_MSG;

typedef	struct t_msg_pri {
		/* 庭黎刨烧きメッセ〖ジヘッダ */
	T_MSG		msgque;		/* メッセ〖ジヘッダ */
	PRI		msgpri;		/* メッセ〖ジ庭黎刨 */

} T_MSG_PRI;

#endif /* _MACRO_ONLY */

/*
 *  サ〖ビスコ〖ルの离咐
 */
#ifndef _MACRO_ONLY

/*
 *  タスク瓷妄怠墙
 */
extern ER	act_tsk(ID tskid);
extern ER	iact_tsk(ID tskid);
extern ER_UINT	can_act(ID tskid);
extern void	ext_tsk(void);
extern ER	ter_tsk(ID tskid);
extern ER	chg_pri(ID tskid, PRI tskpri);
extern ER	get_pri(ID tskid, PRI *p_tskpri);

/*
 *  タスク烧掳票袋怠墙
 */
extern ER	slp_tsk(void);
extern ER	tslp_tsk(TMO tmout);
extern ER	wup_tsk(ID tskid);
extern ER	iwup_tsk(ID tskid);
extern ER_UINT	can_wup(ID tskid);
extern ER	rel_wai(ID tskid);
extern ER	irel_wai(ID tskid);
extern ER	sus_tsk(ID tskid);
extern ER	rsm_tsk(ID tskid);
extern ER	frsm_tsk(ID tskid);
extern ER	dly_tsk(RELTIM dlytim);

/*
 *  タスク毋嘲借妄怠墙
 */
extern ER	ras_tex(ID tskid, TEXPTN rasptn);
extern ER	iras_tex(ID tskid, TEXPTN rasptn);
extern ER	dis_tex(void);
extern ER	ena_tex(void);
extern BOOL	sns_tex(void);

/*
 *  票袋ˇ奶慨怠墙
 */
extern ER	sig_sem(ID semid);
extern ER	isig_sem(ID semid);
extern ER	wai_sem(ID semid);
extern ER	pol_sem(ID semid);
extern ER	twai_sem(ID semid, TMO tmout);

extern ER	set_flg(ID flgid, FLGPTN setptn);
extern ER	iset_flg(ID flgid, FLGPTN setptn);
extern ER	clr_flg(ID flgid, FLGPTN clrptn);
extern ER	wai_flg(ID flgid, FLGPTN waiptn,
			MODE wfmode, FLGPTN *p_flgptn);
extern ER	pol_flg(ID flgid, FLGPTN waiptn,
			MODE wfmode, FLGPTN *p_flgptn);
extern ER	twai_flg(ID flgid, FLGPTN waiptn,
			MODE wfmode, FLGPTN *p_flgptn, TMO tmout);

extern ER	snd_dtq(ID dtqid, VP_INT data);
extern ER	psnd_dtq(ID dtqid, VP_INT data);
extern ER	ipsnd_dtq(ID dtqid, VP_INT data);
extern ER	tsnd_dtq(ID dtqid, VP_INT data, TMO tmout);
extern ER	fsnd_dtq(ID dtqid, VP_INT data);
extern ER	ifsnd_dtq(ID dtqid, VP_INT data);
extern ER	rcv_dtq(ID dtqid, VP_INT *p_data);
extern ER	prcv_dtq(ID dtqid, VP_INT *p_data);
extern ER	trcv_dtq(ID dtqid, VP_INT *p_data, TMO tmout);

extern ER	snd_mbx(ID mbxid, T_MSG *pk_msg);
extern ER	rcv_mbx(ID mbxid, T_MSG **ppk_msg);
extern ER	prcv_mbx(ID mbxid, T_MSG **ppk_msg);
extern ER	trcv_mbx(ID mbxid, T_MSG **ppk_msg, TMO tmout);

/*
 *  メモリプ〖ル瓷妄怠墙
 */
extern ER	get_mpf(ID mpfid, VP *p_blk);
extern ER	pget_mpf(ID mpfid, VP *p_blk);
extern ER	tget_mpf(ID mpfid, VP *p_blk, TMO tmout);
extern ER	rel_mpf(ID mpfid, VP blk);

/*
 *  箕粗瓷妄怠墙
 */
extern ER	set_tim(SYSTIM *p
...
...
(Please download the complete source code to view)
			
...
Expand> <Close

Want complete source code? Download it here

Point(s): 1

Download
0 lines left, continue to read
Sponsored links

File list

Tips: You can preview the content of files by clicking file names^_^
Name Size Date
linux0.00 B0%|04-10-07
boot0.00 B04-10-07|15:01
bootsect.s12.49 kB08-01-04|21:38
head.s13.22 kB08-01-04|21:38
setup.s12.42 kB08-01-04|21:38
fs0.00 B04-10-07|15:01
bitmap.c8.46 kB02-09-04|13:12
block_dev.c3.95 kB02-09-04|13:12
buffer.c17.71 kB02-09-04|13:12
char_dev.c4.09 kB02-09-04|13:12
exec.c18.90 kB02-09-04|13:12
fcntl.c3.33 kB02-09-04|13:12
file_dev.c4.82 kB02-09-04|13:12
file_table.c209.00 B02-09-04|13:12
inode.c14.92 kB02-09-04|13:12
ioctl.c1.94 kB02-09-04|13:12
Makefile6.80 kB08-01-04|21:45
namei.c37.20 kB02-09-04|13:12
open.c10.00 kB02-09-04|13:12
pipe.c5.42 kB02-09-04|13:12
read_write.c5.86 kB02-09-04|13:12
stat.c2.69 kB02-09-04|13:12
super.c13.57 kB02-09-04|13:12
truncate.c2.46 kB02-09-04|13:12
include0.00 B04-10-07|15:01
a.out.h8.22 kB02-09-04|13:14
asm0.00 B04-10-07|15:01
io.h772.00 B02-09-04|13:14
memory.h1.03 kB08-01-04|22:13
segment.h2.50 kB02-09-04|13:14
system.h4.08 kB02-09-04|13:14
const.h589.00 B02-09-04|13:14
ctype.h1.68 kB02-09-04|13:14
errno.h2.30 kB02-09-04|13:14
fcntl.h3.30 kB02-09-04|13:14
linux0.00 B04-10-07|15:01
config.h2.16 kB02-09-04|13:14
fs.h9.72 kB02-09-04|13:14
hdreg.h2.94 kB02-09-04|13:14
head.h760.00 B02-09-04|13:14
kernel.h1.44 kB02-09-04|13:14
mm.h473.00 B02-09-04|13:14
sched.h13.25 kB02-09-04|13:14
sys.h5.41 kB02-09-04|13:14
tty.h3.93 kB02-09-04|13:14
signal.h4.01 kB02-09-04|13:14
stdarg.h1.77 kB02-09-04|13:14
stddef.h378.00 B02-09-04|13:14
string.h21.75 kB02-09-04|13:14
sys0.00 B04-10-07|15:01
stat.h2.37 kB02-09-04|13:14
times.h377.00 B02-09-04|13:14
types.h1.10 kB02-09-04|13:14
utsname.h423.00 B02-09-04|13:14
wait.h1.48 kB02-09-04|13:14
termios.h13.58 kB02-09-04|13:14
time.h1.81 kB02-09-04|13:14
unistd.h9.21 kB02-09-04|13:14
utime.h392.00 B02-09-04|13:14
init0.00 B04-10-07|15:01
main.c12.52 kB02-09-04|13:12
kernel0.00 B04-10-07|15:01
asm.s5.10 kB08-01-04|22:48
blk_drv0.00 B04-10-07|15:01
blk.h5.69 kB02-09-04|13:14
floppy.c23.49 kB02-09-04|13:12
hd.c17.14 kB02-09-04|13:12
ll_rw_blk.c7.59 kB02-09-04|13:12
Makefile4.25 kB08-01-04|22:53
ramdisk.c6.13 kB02-09-04|13:12
chr_drv0.00 B04-10-07|15:01
console.c30.91 kB02-09-04|13:12
keyboard.S21.04 kB08-01-04|22:59
Makefile4.81 kB08-01-04|22:59
rs_io.s5.75 kB08-01-04|22:59
serial.c2.91 kB02-09-04|13:12
tty_io.c18.40 kB02-09-04|13:12
tty_ioctl.c10.70 kB02-09-04|13:12
exit.c8.08 kB02-09-04|13:12
fork.c6.78 kB15-07-07|22:10
math0.00 B04-10-07|15:01
Makefile3.21 kB08-01-04|23:01
math_emulate.c2.08 kB02-09-04|13:12
mktime.c2.72 kB02-09-04|13:12
panic.c952.00 B02-09-04|13:12
printk.c1.75 kB02-09-04|13:12
sched.c18.57 kB16-07-07|21:23
signal.c5.61 kB02-09-04|13:12
sys.c7.62 kB02-09-04|13:12
system_call.s12.53 kB08-01-04|22:48
traps.c8.29 kB04-10-07|14:57
vsprintf.c9.96 kB02-09-04|13:12
lib0.00 B04-10-07|15:01
close.c397.00 B02-09-04|13:12
ctype.c1.72 kB02-09-04|13:12
dup.c401.00 B02-09-04|13:12
errno.c66.00 B02-09-04|13:12
execve.c607.00 B02-09-04|13:12
Makefile4.83 kB08-01-04|22:30
malloc.c13.50 kB02-09-04|13:12
open.c1.22 kB02-09-04|13:12
setsid.c382.00 B02-09-04|13:12
string.c199.00 B02-09-04|13:12
wait.c774.00 B02-09-04|13:12
write.c545.00 B02-09-04|13:12
_exit.c616.00 B02-09-04|13:12
Makefile8.58 kB08-01-04|22:21
mm0.00 B04-10-07|15:01
Makefile2.91 kB08-01-04|22:34
memory.c25.10 kB02-09-04|13:12
page.s842.00 B08-01-04|22:34
tools0.00 B04-10-07|15:01
build.c8.12 kB02-09-04|13:12
...
Sponsored links

kernel.h (286.77 kB)

Need 1 point
Your Point(s)

Your Point isn't enough.

Get point immediately by PayPal

More(Debit card / Credit card / PayPal Credit / Online Banking)

Submit your source codes. Get more point

LOGIN

Don't have an account? Register now
Need any help?
Mail to: support@codeforge.com

切换到中文版?

CodeForge Chinese Version
CodeForge English Version

Where are you going?

^_^"Oops ...

Sorry!This guy is mysterious, its blog hasn't been opened, try another, please!
OK

Warm tip!

CodeForge to FavoriteFavorite by Ctrl+D