[b-free: 77] BTRON3周辺核システムコール一覧
真鍋 裕一 (NBG02534@niftyserve.or.jp)
Tue, 10 Jan 1995 00:30:00 +0900
B-freeプロジェクトの皆さん、こんにちは。
昨日のミーティングで、1Bからのアプリケーション移植の際の参考とするための、BTR
ON1仕様とBTRON3仕様の相違点を抽出したドキュメントを作成する事になりました。ま
ずはその手始めとして、現状のBTRON3仕様OSの周辺核のシステムコール(Ver3.A0)を一覧
にしました。これを元に、各システムコールの引数の比較表を追加していくつもりです
。
次の段階としては、BTRON1仕様にあってBTRON3仕様から削除された周辺核のシス
テムコールの一覧をまとめる予定です。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
●BTRON3仕様OSの周辺核のシステムコール(Ver3.A0)
・プロセス・タスク管理
cre_prc(LINK* lnk, W pri, MESSAGE *msg);
ext_prc(W exit_code);
ter_prc(W pid, W abote_code, W opt);
chg_pri(W pid, W new_pri, W opt);
wai_prc(W time);
prc_sts(W pid, P_STATE *buff, TC *path);
chg_usr(P_USER *buff);
get_usr(W pid, P_USER *buff);
get_inf(W pid, P_INFO *buff);
・タスク管理
cre_tsk(FP entry, MESSAGE *msg, W arg);
ext_tsk(void);
slp_tsk(void);
wup_tsk(W tskid);
get_tid(void);
・メッセージ管理
snd_msg(W pid, MESSAGE *msg, W opt);
rcv_msg(W t_mask, MESSAGE *msg, W msgsz, W opt);
snr_msg(W pid, MESSAGE *s_msg, W t_mask, MESSAGE *r_msg, W msgsz);
clr_msg(W t_mask, W last_mask);
def_msg(W t_mask, FUNCP msg_hdr);
ret_msg(W ret);
reg_tmg(W time, W code);
can_tmg(VOID);
・セマフォ管理
cre_sem(W cnt, W opt);
del_sem(W sem_id);
wai_sem(W sem_id, W opt);
sig_sem(W sem_id);
・グローバル名管理
cre_nam(TC *name, W data, W opt);
del_nam(TC *name);
det_nam(TC *name, W* data);
・メモリ管理
set_brk(B **mptr, W incr);
get_pgs(void);
get_smb(W size, W opt);
rel_smb(W akey);
rea_smb(W akey, B *buf, W offset, W size, W* a_size);
wri_smb(W akey, B *buf, W offset, W size, W* a_size);
smb_adr(W akey, B **adr);
smb_key(B *adr);
・ファイル管理
get_lnk(TC *path, LINK *lnk, W mode);
chg_wrk(LINK *lnk);
cre_fil(LINK *lnk, TC *name, A_MODE *mode, UH atype, W opt);
cre_lnk(LINK *lnk, F_LINK *ref, W opt);
gen_fil(LINK *lnk, TC *name, F_STATE *stat, F_LINK *ref, W opt);
ope_fil(LINK *lnk, W o_mode, TC *pwd);
cls_fil(W fd);
del_fil(LINK *org, LINK *lnk, W force);
see_rec(W fd, W offset, W mode, W *recnum);
fnd_rec(W fd, W mode, UW typemask, UH subtype, W recnum);
fnd_lnk(W fd, W mode, LINK *lnk, UH subtype, W recnum);
rea_rec(W fd, W offset, B *buf, W size, W *r_size, UH *subtype);
wri_rec(W fd, W offset, B *buf, W size, W *r_size, UH *subtype, UH units
);
ins_rec(W fd, B *buf, W size, W type, UH subtype, UW units);
apd_rec(W fd, B *buf, W size, W type, UH subtype, UW units);
del rec(W fd);
trc_rec(W fd, W size);
xch_fil(W fd_1, W fd_2);
loc_rec(W fd, W mode);
chk_fil(LINK *lnk, W mode, TC *pwd);
chg_fmd(LINK *lnk, A_MODE *mode);
chg_fat(LINK *lnk, W attr);
chg_fnm(LINK *lnk, TC *name);
chg_ftm(LINK *lnk, F_TIME *times);
fil_sts(LINK *lnk, TC *name, F_STATE *stat, F_LOCATE *locat);
ofl_sts(W fd, TC *name, F_STATE *stat, F_LOCATE *locat);
lnk_sts(LINK *lnk, F_LINK *stat);
syn_lnk(LINK *lnk, W opt);
get_dfm(DA_MODE *mode);
set_dfm(DA_MODE *mode);
att_fls(TC *dev, TC *name, LINK *lnk, UW mode);
dat_fls(TC *dev, W eject);
syn_fls(VOID);
fls_sts(TC *dev, FS_STATE *buff);
chg_fls(TC *dev, TC *fs_name, TC *fs_locate);
get_nlk(LINK *lnk);
lst_fls(F_ATTACH *buff, W cnt);
map_rec(W fd, W offset, B **addr, W size, W mode);
ump_rec(W fd, W mapid);
・イベント管理
get_evt(W t_mask, EVENT *evt, W opt);
put_evt(EVENT *evt, W opt);
clr_evt(W t_mask, W last_mask);
get_pdp(PNT *pos);
set_pdp(PNT pos);
get_etm(UW *time);
get_kmp(KeyMap keymap);
chg_emk(W mask);
set_krp(W offset, W interval);
get_krp(W* offset,W* interval);
set_kem(KeyMap keymap);
get_kem(KeyMap keymap);
get_kid(KBD_ID *id);
get_ktb(KeyMap *keytab);
set_ktb(KeyMap *keytab);
chg_pda(W atr);
sig_buz(W type);
・デバイス管理
opn_dev(TC *dev, W o_mode, W* error);
cls_dev(W dd, W eject, W* error);
rea_dev(W dd, W start, B* buf, W size, W* a_size, W* error);
wri_dev(W dd, W start, B* buf, W size, W* a_size, W* error);
chg_dmd(TC *dev, DEV_STATE *buf);
get_dev(TC *dev, W num);
lst_dev(DEV_INFO *dev, W ndev);
・時計管理
get_tim(STIME *time, TIMEZONE *tz);
set_tim(STIME time, TIMEZONE *tz);
get_tod(DATE_TIM *date_tim, STIME time, Bool local);
set_tod(DATE_TIM *date_tim, STIME *time, Bool local);
・システム管理
def_exc(W exckind, FP exchdr);
ret_exc(W ret);
get_ver(T_VER *version);
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
真鍋 裕一(NBG02534)