7.1 List of C Language Interface T-Kernel/OS

Task Management Functions

ID	tskid	= tk_cre_tsk ( T_CTSK *pk_ctsk );
ER	ercd	= tk_del_tsk ( ID tskid );
ER	ercd	= tk_sta_tsk ( ID tskid, INT stacd );
void			tk_ext_tsk ( );
void			tk_exd_tsk ( );
ER	ercd	= tk_ter_tsk ( ID tskid );
ER	ercd	= tk_chg_pri ( ID tskid, PRI tskpri );
ER	ercd	= tk_chg_slt ( ID tskid, RELTIM slicetime );
ER	ercd	= tk_get_tsp ( ID tskid, T_TSKSPC *pk_tskspc );
ER	ercd	= tk_set_tsp ( ID tskid, T_TSKSPC *pk_tskspc );
ID	resid	= tk_get_rid ( ID tskid );
ID	oldid	= tk_set_rid ( ID tskid, ID resid );
ER	ercd	= tk_get_reg ( ID tskid, T_REGS *pk_regs, T_EIT *pk_eit, T_CREGS *pk_cregs );
ER	ercd	= tk_set_reg ( ID tskid, T_REGS *pk_regs, T_EIT *pk_eit, T_CREGS *pk_cregs );
ER	ercd	= tk_get_cpr ( ID tskid, INT copno, T_COPREGS *pk_copregs );
ER	ercd	= tk_set_cpr ( ID tskid, INT copno, T_COPREGS *pk_copregs );
ER	ercd	= tk_inf_tsk ( ID tskid, T_ITSK *pk_itsk, BOOL clr );
ER	ercd	= tk_ref_tsk ( ID tskid, T_RTSK *pk_rtsk );
Task-Dependent Synchronization Functions

ER	ercd	= tk_slp_tsk ( TMO tmout );
ER	ercd	=	tk_wup_tsk ( ID tskid );
INT	wupcnt	= tk_can_wup ( ID tskid );
ER	ercd	= tk_rel_wai ( ID tskid );
ER	ercd	= tk_sus_tsk ( ID tskid );
ER	ercd	= tk_rsm_tsk ( ID tskid );
ER	ercd	= tk_frsm_tsk ( ID tskid );
ER	ercd	= tk_dly_tsk ( RELTIM dlytim );
ER	ercd	= tk_sig_tev ( ID tskid, INT tskevt );
INT	tevptn	= tk_wai_tev ( INT waiptn, TMO tmout );
INT	tskwait	= tk_dis_wai ( ID tskid, UINT waitmask );
ER	ercd	= tk_ena_wai ( ID tskid );
Task Exception Handling Functions

ER	ercd	= tk_def_tex ( ID tskid, T_DTEX *pk_dtex );
ER	ercd	= tk_ena_tex ( ID tskid, UINT texptn );
ER	ercd	= tk_dis_tex ( ID tskid, UINT texptn );
ER	ercd	= tk_ras_tex ( ID tskid, INT texcd );
INT	texcd	= tk_end_tex ( BOOL enatex );
ER	ercd	= tk_ref_tex ( ID tskid, T_RTEX *pk_rtex );
Synchronization and Management Functions

ID	semid	= tk_cre_sem ( T_CSEM *pk_csem );
ER	ercd	= tk_del_sem ( ID semid );
ER	ercd	= tk_sig_sem ( ID semid, INT cnt );
ER	ercd	= tk_wai_sem ( ID semid, INT cnt, TMO tmout );
ER	ercd	= tk_ref_sem ( ID semid, T_RSEM *pk_rsem );
ID	 flgid	= tk_cre_flg ( T_CFLG *pk_cflg );
ER	ercd	= tk_del_flg ( ID flgid );
ER	ercd	= tk_set_flg ( ID flgid, UINT setptn );
ER	ercd	= tk_clr_flg ( ID flgid, UINT clrptn );
ER	ercd	= tk_wai_flg ( ID flgid, UINT waiptn, UINT wfmode, UINT *p_flgptn, TMO tmout );
ER	ercd	= tk_ref_flg ( ID flgid, T_RFLG *pk_rflg );
ID	mbxid	= tk_cre_mbx ( T_CMBX* pk_cmbx );
ER	ercd	= tk_del_mbx ( ID mbxid );
ER	ercd	= tk_snd_mbx ( ID mbxid, T_MSG *pk_msg );
ER	ercd	= tk_rcv_mbx ( ID mbxid, T_MSG **ppk_msg, TMO tmout );
ER	ercd	= tk_ref_mbx ( ID mbxid, T_RMBX *pk_rmbx );
Extended Synchronization and Communication Functions

ID	mtxid	= tk_cre_mtx ( T_CMTX *pk_cmtx );
ER	ercd	= tk_del_mtx ( ID mtxid );
ER	ercd	= tk_loc_mtx ( ID mtxid, TMO tmout );
ER	ercd	= tk_unl_mtx ( ID mtxid );
ER	ercd	= tk_ref_mtx ( ID mtxid, T_RMTX *pk_rmtx );
ID	mbfid	= tk_cre_mbf ( T_CMBF *pk_cmbf );
ER	ercd	= tk_del_mbf ( ID mbfid );
ER	ercd	= tk_snd_mbf ( ID mbfid, VP msg, INT msgsz, TMO tmout );
INT	msgsz	= tk_rcv_mbf ( ID mbfid, VP msg, TMO tmout );
ER	ercd	= tk_ref_mbf ( ID mbfid, T_RMBF *pk_rmbf );
ID	porid	= tk_cre_por ( T_CPOR *pk_cpor );
ER	ercd	= tk_del_por ( ID porid );
INT	rmsgsz	= tk_cal_por ( ID porid, UINT calptn, VP msg, INT cmsgsz, TMO tmout );
INT	cmsgsz	= tk_acp_por ( ID porid, UINT acpptn, RNO *p_rdvno, VP msg, TMO tmout );
ER	ercd	= tk_fwd_por ( ID porid, UINT calptn, RNO rdvno, VP msg, INT cmsgsz );
ER	ercd	= tk_rpl_rdv ( RNO rdvno, VP msg, INT rmsgsz );
ER	ercd	= tk_ref_por ( ID porid, T_RPOR *pk_rpor );
Memory Pool Management Functions

ID	mpfid	= tk_cre_mpf ( T_CMPF *pk_cmpf );
ER	ercd	= tk_del_mpf ( ID mpfid );
ER	ercd	= tk_get_mpf ( ID mpfid, VP *p_blf, TMO tmout );
ER	ercd	= tk_rel_mpf ( ID mpfid, VP blf );
ER	ercd	= tk_ref_mpf ( ID mpfid, T_RMPF *pk_rmpf );
ID	mplid	= tk_cre_mpl ( T_CMPL *pk_cmpl );
ER	ercd	= tk_del_mpl ( ID mplid );
ER	ercd	= tk_get_mpl ( ID mplid, W blksz, VP *p_blk, TMO tmout );
ER	ercd	= tk_rel_mpl ( ID mplid, VP blk );
ER	ercd	= tk_ref_mpl ( ID mplid, T_RMPL *pk_rmpl );
Time Management Functions

ER	ercd	= tk_set_tim ( SYSTIM *pk_tim );
ER	ercd	= tk_get_tim ( SYSTIM *pk_tim );
ER	ercd	= tk_get_otm ( SYSTIM *pk_tim );
ID	cycid	= tk_cre_cyc ( T_CCYC *pk_ccyc );
ER	ercd	= tk_del_cyc ( ID cycid );
ER	ercd	= tk_sta_cyc ( ID cycid );
ER	ercd	= tk_stp_cyc ( ID cycid );
ER	ercd	= tk_ref_cyc ( ID cycid, T_RCYC *pk_rcyc );
ID	almid	= tk_cre_alm ( T_CALM *pk_calm );
ER	ercd	= tk_del_alm ( ID almid );
ER	ercd	= tk_sta_alm ( ID almid, RELTIM almtim );
ER	ercd	= tk_stp_alm ( ID almid );
ER	ercd	= tk_ref_alm ( ID almid, T_RALM *pk_ralm );
Interrupt Management Functions

ER	ercd	= tk_def_int ( UINT dintno, T_DINT *pk_dint );
void			tk_ret_int ( );
System Management Functions

ER	ercd	= tk_rot_rdq ( PRI tskpri );
ID	tskid	= tk_get_tid ( );
ER	ercd	= tk_dis_dsp ( );
ER	ercd	= tk_ena_dsp ( );
ER	ercd	= tk_ref_sys ( T_RSYS *pk_rsys );
ER	ercd	= tk_set_pow ( UINT powmode );
ER	ercd	= tk_ref_ver ( T_RVER *pk_rver );
Subsystem Management Functions

ER	ercd	= tk_def_ssy ( ID ssid, T_DSSY *pk_dssy );
ER	ercd	= tk_sta_ssy ( ID ssid, ID resid, INT info );
ER	ercd	= tk_cln_ssy ( ID ssid, ID resid, INT info );
ER	ercd	= tk_evt_ssy ( ID ssid, INT evttyp, ID resid, INT info );
ER	ercd	= tk_ref_ssy ( ID ssid, T_RSSY *pk_rssy );
ID	resid	= tk_cre_res ( );
ER	ercd	= tk_del_res ( ID resid );
ER	ercd	= tk_get_res ( ID resid, ID ssid, VP *p_resblk );
T-Kernel/SM System Memory Management Functions

ER	tk_get_smb	( VP *addr, INT nblk, UINT attr );
ER	tk_rel_smb	( VP addr );
void*	Vmalloc	( size_t size );
void*	Vcalloc	( size_t nmemb, size_t size );
void*	Vrealloc	( void *ptr, size_t size );
void	Vfree	( void *ptr );
void*	Kmalloc	( size_t size );
void*	Kcalloc	( size_t nmemb, size_t size );
void*	Krealloc	( void *ptr, size_t size );
void	Kfree	( void *ptr );
Address Space Management Functions

ER	SetTaskSpace	( ID tskid );
ER	ChkSpaceR	( VP addr, INT len );
ER	ChkSpaceRW	( VP addr, INT len );
ER	ChkSpaceRE	( VP addr, INT len );
INT	ChkSpaceBstrR	( UB *str, INT max );
INT	ChkSpaceBstrRW	( UB *str, INT max );
INT	ChkSpaceTstrR	( TC *str, INT max );
INT	ChkSpaceTstrRW	( TC *str, INT max );
ER	LockSpace	( VP addr, INT len );
ER	UnlockSpace	( VP addr, INT len );
INT	CnvPhysicalAddr	( VP vaddr, INT len, VP *paddr );
ER	MapMemory	( VP paddr, INT len, UINT attr, VP *laddr );
ER	UnmapMemory		( VP laddr );
Device Management Functions

ID	tk_opn_dev	( UB *devnm, UINT omode );
ER	tk_cls_dev	( ID dd, UINT option );
ID	tk_rea_dev	( ID dd, INT start, VP buf, INT size, TMO tmout );
ER	tk_srea_dev	( ID dd, INT start, VP buf, INT size, INT *asize );
ID	tk_wri_dev	( ID dd, INT start, VP buf, INT size, TMO tmout );
ER	tk_swri_dev	( ID dd, INT start, VP buf, INT size, INT *asize );
ID	tk_wai_dev 	( ID dd, ID reqid, INT *asize, ER *ioer, TMO tmout );
INT	tk_sus_dev	( UINT mode );
ID	tk_get_dev	( ID devid, UB *devnm );
ID	tk_ref_dev	( UB *devnm, T_RDEV *rdev );
ID	tk_oref_dev	( ID dd, T_RDEV *rdev );
INT	tk_lst_dev	( T_LDEV *ldev, INT start, INT ndev );
INT	tk_evt_dev	( ID devid, INT evttyp, VP evtinf );
ID	tk_def_dev	( UB *devnm, T_DDEV *ddev, T_IDEV *idev );
ERT_IDEV	tk_ref_idv	( T_IDEV *idev  );
Interrupt Management Functions

	DI	( UINT intsts );
	EI	( UINT intsts ); 
BOOL	isDI	( UINT intsts );
UINT	DINTNO	( INTVEC intvec );
void	EnableInt	( INTVEC intvec [, level] );
void	DisableInt	( INTVEC intvec );
void	ClearInt	( INTVEC intvec );
void	EndOfInt	( INTVEC intvec );
BOOL	CheckInt	( INTVEC intvec );
IO Port Access Support Functions

void	out_w	( INT port, UW data );
void	out_h	( INT port, UH data );
void	out_b	( INT port, UB data );
UW	in_w	( INT port );
UH	in_h	( INT port );
UB	in_b	( INT port );
void	WaitUsec	( UINT usec );
void	WaitNsec	( UINT nsec );
Power Management Functions

void void low_pow ( off_pow ( void void ); );

System Con.guration Information Management Functions

INT	tk_get_cfn	( UB *name, INT *val, INT max );
INT	tk_get_cfs	( UB *name, UB *buf, INT max );
T-Kernel/DS Kernel Internal State Acquisition Functions

INT	ct	= tk_cre_tsk ( ID list[], INT nent );
INT	ct	= td_lst_sem ( ID list[], INT nent );
INT	ct	= td_lst_flg ( ID list[], INT nent );
INT	ct	= td_lst_mbx ( ID list[], INT nent );
INT	ct	= td_lst_mtx ( ID list[], INT nent );
INT	ct	= td_lst_mbf ( ID list[], INT nent );
INT	ct	= td_lst_por ( ID list[], INT nent );
INT	ct	= td_lst_mpf ( ID list[], INT nent );
INT	ct	= td_lst_mpl ( ID list[], INT nent );
INT	ct	= td_lst_cyc ( ID list[], INT nent );
INT	ct	= td_lst_ssy ( ID list[], INT nent );
INT	ct	= td_rdy_que ( PRI pri, ID list[], INT nent );
INT	ct	= td_sem_que ( ID semid, ID list[], INT nent );
INT	ct	= td_flg_que ( ID flgid, ID list[], INT nent );
INT	ct	= td_mbx_que ( ID mbxid, ID list[], INT nent );
INT	ct	= td_mtx_que ( ID mtxid, ID list[], INT nent );
INT	ct	= td_smbf_que ( ID mbfid, ID list[], INT nent );
INT	ct	= td_rmbf_que ( ID mbfid, ID list[], INT nent );
INT	ct	= td_cal_que ( ID porid, ID list[], INT nent );
INT	ct	= td_acp_que ( ID porid, ID list[], INT nent );
INT	ct	= td_mpf_que ( ID mpfid, ID list[], INT nent );
INT	ct	= td_mpl_que ( ID mplid, ID list[], INT nent );
ER	ercd	= td_ref_tsk ( ID tskid, TD_RTSK *rtsk );
ER	ercd	= td_ref_sem ( ID semid, TD_RSEM *rsem );
ER	ercd	= td_ref_flg ( ID flgid, TD_RFLG *rflg );
ER	ercd	= td_ref_mbx ( ID mbxid, TD_RMBX *rmbx );
ER	ercd	= td_ref_mtx ( ID mtxid, TD_RMTX *rmtx );
ER	ercd	= td_ref_mbf ( ID mbfid, TD_RMBF *rmbf );
ER	ercd	= td_ref_por ( ID porid, TD_RPOR *rpor );
ER	ercd	= td_ref_mpf ( ID mpfid, TD_RMPF *rmpf );
ER	ercd	= td_ref_mpl ( ID mplid, TD_RMPL *rmpl );
ER	ercd	= td_ref_cyc ( ID cycid, TD_RCYC *rcyc );
ER	ercd	= td_ref_alm ( ID almid, TD_RALM *ralm );
ER	ercd	= td_ref_ssy ( ID ssid, TD_RSSY *rssy );
ER	ercd	= td_ref_tex ( ID tskid, TD_RTEX *pk_rtex );
ER	ercd	= td_inf_tsk ( ID tskid, TD_ITSK *pk_itsk, BOOL clr );
ER	ercd	= td_get_reg ( ID tskid, T_REGS *pk_regs, T_EIT *pk_eit, T_CREGS *pk_cregs );
ER	ercd	= td_set_reg ( ID tskid, T_REGS *pk_regs, T_EIT *pk_eit, T_CREGS *pk_cregs );
ER	ercd	= td_ref_sys ( TD_RSYS *pk_rsys );
ER	ercd	= td_get_tim ( SYSTIM *tim, UNIT *ofs );
ER	ercd	= td_get_otm ( SYSTIM *tim, UINT *ofs );
ER	ercd	= td_ref_dsname ( UINT typE_ID id, UB *dsname );
ER	ercd	= td_set_dsname ( UINT typE_ID id, UB *dsname );
Trace Functions

ER	ercd	= td_hok_svc ( TD_HSVC *hsvc );
ER	ercd	= td_hok_dsp ( TD_HDSP *hdsp );
ER	ercd	= td_hok_int ( TD_HINT *hint );

            

Comments