1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
13:
14: 15: 16: 17: 18:
19:
20: #ifndef __TK_SYSCALL_H__
21: #define __TK_SYSCALL_H__
22:
23:
24: #define TSK_SELF 0
25: #define TPRI_INI 0
26: #define TPRI_RUN 0
27:
28: #define TA_ASM 0x00000000UL
29: #define TA_HLNG 0x00000001UL
30: #define TA_USERBUF 0x00000020UL
31: #define TA_DSNAME 0x00000040UL
32:
33: #define TA_RNG0 0x00000000UL
34: #define TA_RNG1 0x00000100UL
35: #define TA_RNG2 0x00000200UL
36: #define TA_RNG3 0x00000300UL
37:
38: #define TA_COP0 0x00001000U
39: #define TA_COP1 0x00002000U
40: #define TA_COP2 0x00004000U
41: #define TA_COP3 0x00008000U
42:
43:
44: #define TTS_RUN 0x00000001U
45: #define TTS_RDY 0x00000002U
46: #define TTS_WAI 0x00000004U
47: #define TTS_SUS 0x00000008U
48: #define TTS_WAS 0x0000000cU
49: #define TTS_DMT 0x00000010U
50: #define TTS_NODISWAI 0x00000080U
51:
52:
53: #define TTW_SLP 0x00000001UL
54: #define TTW_DLY 0x00000002UL
55: #define TTW_SEM 0x00000004UL
56: #define TTW_FLG 0x00000008UL
57: #define TTW_MBX 0x00000040UL
58: #define TTW_MTX 0x00000080UL
59: #define TTW_SMBF 0x00000100UL
60: #define TTW_RMBF 0x00000200UL
61: #define TTW_CAL 0x00000400UL
62: #define TTW_ACP 0x00000800UL
63: #define TTW_RDV 0x00001000UL
64: #define TTW_MPF 0x00002000UL
65: #define TTW_MPL 0x00004000UL
66:
67:
68: #define TA_TFIFO 0x00000000UL
69: #define TA_TPRI 0x00000001UL
70: #define TA_FIRST 0x00000000UL
71: #define TA_CNT 0x00000002UL
72: #define TA_DSNAME 0x00000040UL
73:
74:
75: #define TA_TFIFO 0x00000000UL
76: #define TA_TPRI 0x00000001UL
77: #define TA_INHERIT 0x00000002UL
78: #define TA_CEILING 0x00000003UL
79: #define TA_DSNAME 0x00000040UL
80:
81:
82: #define TA_TFIFO 0x00000000UL
83: #define TA_TPRI 0x00000001UL
84: #define TA_WSGL 0x00000000UL
85: #define TA_WMUL 0x00000008UL
86: #define TA_DSNAME 0x00000040UL
87:
88:
89: #define TWF_ANDW 0x00000000U
90: #define TWF_ORW 0x00000001U
91: #define TWF_CLR 0x00000010U
92: #define TWF_BITCLR 0x00000020U
93:
94:
95: #define TA_TFIFO 0x00000000UL
96: #define TA_TPRI 0x00000001UL
97: #define TA_MFIFO 0x00000000UL
98: #define TA_MPRI 0x00000002UL
99: #define TA_DSNAME 0x00000040UL
100:
101:
102: #define TA_TFIFO 0x00000000UL
103: #define TA_TPRI 0x00000001UL
104: #define TA_USERBUF 0x00000020UL
105: #define TA_DSNAME 0x00000040UL
106:
107:
108: #define TA_TFIFO 0x00000000UL
109: #define TA_TPRI 0x00000001UL
110: #define TA_DSNAME 0x00000040UL
111:
112:
113: #define TA_ASM 0x00000000UL
114: #define TA_HLNG 0x00000001UL
115:
116:
117: #define TA_TFIFO 0x00000000UL
118: #define TA_TPRI 0x00000001UL
119: #define TA_USERBUF 0x00000020UL
120: #define TA_DSNAME 0x00000040UL
121: #define TA_RNG0 0x00000000UL
122: #define TA_RNG1 0x00000100UL
123: #define TA_RNG2 0x00000200UL
124: #define TA_RNG3 0x00000300UL
125:
126:
127: #define TA_TFIFO 0x00000000UL
128: #define TA_TPRI 0x00000001UL
129: #define TA_USERBUF 0x00000020UL
130: #define TA_DSNAME 0x00000040UL
131: #define TA_RNG0 0x00000000UL
132: #define TA_RNG1 0x00000100UL
133: #define TA_RNG2 0x00000200UL
134: #define TA_RNG3 0x00000300UL
135:
136:
137: #define TA_ASM 0x00000000UL
138: #define TA_HLNG 0x00000001UL
139: #define TA_STA 0x00000002UL
140: #define TA_PHS 0x00000004UL
141: #define TA_DSNAME 0x00000040UL
142:
143: #define TCYC_STP 0x00U
144: #define TCYC_STA 0x01U
145:
146:
147: #define TA_ASM 0x00000000UL
148: #define TA_HLNG 0x00000001UL
149: #define TA_DSNAME 0x00000040UL
150:
151: #define TALM_STP 0x00U
152: #define TALM_STA 0x01U
153:
154:
155: #define TSS_TSK 0x00U
156: #define TSS_DDSP 0x01U
157: #define TSS_DINT 0x02U
158: #define TSS_INDP 0x04U
159: #define TSS_QTSK 0x08U
160:
161:
162: #define TPW_DOSUSPEND 1
163: #define TPW_DISLOWPOW 2
164: #define TPW_ENALOWPOW 3
165:
166:
167:
168: #define CPUDEF_PATH_(a) #a
169: #define CPUDEF_PATH(a) CPUDEF_PATH_(a)
170: #define CPUDEF_SYSDEP() CPUDEF_PATH(sysdepend/TARGET_DIR/cpudef.h)
171:
172: #include CPUDEF_SYSDEP()
173:
174: 175: 176:
177: typedef struct t_ctsk {
178: void *exinf;
179: ATR tskatr;
180: FP task;
181: PRI itskpri;
182: SZ stksz;
183: #if USE_OBJECT_NAME
184: UB dsname[OBJECT_NAME_LENGTH];
185: #endif
186: void *bufptr;
187: } T_CTSK;
188:
189: 190: 191:
192: typedef struct t_rtsk {
193: void *exinf;
194: PRI tskpri;
195: PRI tskbpri;
196: UINT tskstat;
197: UW tskwait;
198: ID wid;
199: INT wupcnt;
200: INT suscnt;
201: } T_RTSK;
202:
203: 204: 205:
206: typedef struct t_csem {
207: void *exinf;
208: ATR sematr;
209: INT isemcnt;
210: INT maxsem;
211: #if USE_OBJECT_NAME
212: UB dsname[OBJECT_NAME_LENGTH];
213: #endif
214: } T_CSEM;
215:
216: 217: 218:
219: typedef struct t_rsem {
220: void *exinf;
221: ID wtsk;
222: INT semcnt;
223: } T_RSEM;
224:
225: 226: 227:
228: typedef struct t_cmtx {
229: void *exinf;
230: ATR mtxatr;
231: PRI ceilpri;
232: #if USE_OBJECT_NAME
233: UB dsname[OBJECT_NAME_LENGTH];
234: #endif
235: } T_CMTX;
236:
237: 238: 239:
240: typedef struct t_rmtx {
241: void *exinf;
242: ID htsk;
243: ID wtsk;
244: } T_RMTX;
245:
246: 247: 248:
249: typedef struct t_cflg {
250: void *exinf;
251: ATR flgatr;
252: UINT iflgptn;
253: #if USE_OBJECT_NAME
254: UB dsname[OBJECT_NAME_LENGTH];
255: #endif
256: } T_CFLG;
257:
258: 259: 260:
261: typedef struct t_rflg {
262: void *exinf;
263: ID wtsk;
264: UINT flgptn;
265: } T_RFLG;
266:
267: 268: 269:
270: typedef struct t_cmbx {
271: void *exinf;
272: ATR mbxatr;
273: #if USE_OBJECT_NAME
274: UB dsname[OBJECT_NAME_LENGTH];
275: #endif
276: } T_CMBX;
277:
278: 279: 280:
281: typedef struct t_msg {
282: void *msgque[1];
283: } T_MSG;
284:
285: typedef struct t_msg_pri {
286: T_MSG msgque;
287: PRI msgpri;
288: } T_MSG_PRI;
289:
290: 291: 292:
293: typedef struct t_rmbx {
294: void *exinf;
295: ID wtsk;
296: T_MSG *pk_msg;
297: } T_RMBX;
298:
299: 300: 301:
302: typedef struct t_cmbf {
303: void *exinf;
304: ATR mbfatr;
305: SZ bufsz;
306: INT maxmsz;
307: #if USE_OBJECT_NAME
308: UB dsname[OBJECT_NAME_LENGTH];
309: #endif
310: void *bufptr;
311: } T_CMBF;
312:
313: 314: 315:
316: typedef struct t_rmbf {
317: void *exinf;
318: ID wtsk;
319: ID stsk;
320: INT msgsz;
321: SZ frbufsz;
322: INT maxmsz;
323: } T_RMBF;
324:
325: 326: 327:
328: typedef struct t_cpor {
329: void *exinf;
330: ATR poratr;
331: INT maxcmsz;
332: INT maxrmsz;
333: #if USE_OBJECT_NAME
334: UB dsname[OBJECT_NAME_LENGTH];
335: #endif
336: } T_CPOR;
337:
338: 339: 340:
341: typedef struct t_rpor {
342: void *exinf;
343: ID wtsk;
344: ID atsk;
345: INT maxcmsz;
346: INT maxrmsz;
347: } T_RPOR;
348:
349: 350: 351:
352: typedef struct t_dint {
353: ATR intatr;
354: FP inthdr;
355: } T_DINT;
356:
357: 358: 359:
360: typedef struct t_cmpl {
361: void *exinf;
362: ATR mplatr;
363: SZ mplsz;
364: #if USE_OBJECT_NAME
365: UB dsname[OBJECT_NAME_LENGTH];
366: #endif
367: void *bufptr;
368: } T_CMPL;
369:
370: 371: 372:
373: typedef struct t_rmpl {
374: void *exinf;
375: ID wtsk;
376: SZ frsz;
377: SZ maxsz; 378:
379: } T_RMPL;
380:
381: 382: 383:
384: typedef struct t_cmpf {
385: void *exinf;
386: ATR mpfatr;
387: SZ mpfcnt;
388: SZ blfsz;
389: #if USE_OBJECT_NAME
390: UB dsname[OBJECT_NAME_LENGTH];
391: #endif
392: void *bufptr;
393: } T_CMPF;
394:
395: 396: 397:
398: typedef struct t_rmpf {
399: void *exinf;
400: ID wtsk;
401: SZ frbcnt;
402: } T_RMPF;
403:
404: 405: 406:
407: typedef struct t_ccyc {
408: void *exinf;
409: ATR cycatr;
410: FP cychdr;
411: RELTIM cyctim;
412: RELTIM cycphs;
413: #if USE_OBJECT_NAME
414: UB dsname[OBJECT_NAME_LENGTH];
415: #endif
416: } T_CCYC;
417:
418: 419: 420:
421: typedef struct t_rcyc {
422: void *exinf;
423: RELTIM lfttim;
424: UINT cycstat;
425: } T_RCYC;
426:
427: 428: 429:
430: typedef struct t_calm {
431: void *exinf;
432: ATR almatr;
433: FP almhdr;
434: #if USE_OBJECT_NAME
435: UB dsname[OBJECT_NAME_LENGTH];
436: #endif
437: } T_CALM;
438:
439: 440: 441:
442: typedef struct t_ralm {
443: void *exinf;
444: RELTIM lfttim;
445: UINT almstat;
446: } T_RALM;
447:
448: 449: 450:
451: typedef struct t_rver {
452: UH maker;
453: UH prid;
454: UH spver;
455: UH prver;
456: UH prno[4]; 457:
458: } T_RVER;
459:
460: 461: 462:
463: typedef struct t_rsys {
464: UINT sysstat;
465: ID runtskid;
466: ID schedtskid; 467:
468: } T_RSYS;
469:
470: 471: 472:
473: typedef struct t_dssy {
474: ATR ssyatr;
475: PRI ssypri;
476: FP svchdr;
477: FP breakfn;
478: FP eventfn;
479: } T_DSSY;
480:
481: 482: 483:
484: typedef struct t_rssy {
485: PRI ssypri;
486: } T_RSSY;
487:
488:
489:
490: 491: 492:
493:
494: #define L_DEVNM 8
495:
496: 497: 498: 499: 500: 501: 502: 503: 504: 505:
506: #define TD_PROTECT 0x8000U
507: #define TD_REMOVABLE 0x4000U
508:
509: #define TD_DEVKIND 0x00ffU
510: #define TD_DEVTYPE 0x00f0U
511:
512:
513: #define TDK_UNDEF 0x0000U
514: #define TDK_DISK 0x0010U
515:
516:
517: #define TDK_DISK_UNDEF 0x0010U
518: #define TDK_DISK_RAM 0x0011U
519: #define TDK_DISK_ROM 0x0012U
520: #define TDK_DISK_FLA 0x0013U
521: #define TDK_DISK_FD 0x0014U
522: #define TDK_DISK_HD 0x0015U
523: #define TDK_DISK_CDROM 0x0016U
524:
525: 526: 527:
528: #define TD_READ 0x0001U
529: #define TD_WRITE 0x0002U
530: #define TD_UPDATE 0x0003U
531: #define TD_EXCL 0x0100U
532: #define TD_WEXCL 0x0200U
533: #define TD_REXCL 0x0400U
534:
535: 536: 537:
538: #define TD_EJECT 0x0001U
539:
540: 541: 542:
543: #define TD_SUSPEND 0x0001U
544: #define TD_DISSUS 0x0002U
545: #define TD_ENASUS 0x0003U
546: #define TD_CHECK 0x0004U
547: #define TD_FORCE 0x8000U
548:
549: 550: 551:
552: typedef struct t_rdev {
553: ATR devatr;
554: W blksz;
555: INT nsub;
556: INT subno; 557:
558: } T_RDEV;
559:
560: 561: 562:
563: typedef struct t_ldev {
564: ATR devatr;
565: W blksz;
566: INT nsub;
567: UB devnm[L_DEVNM];
568: } T_LDEV;
569:
570: 571: 572: 573: 574:
575: #define TDN_EVENT (-1) 576:
577: #define TDN_DISKINFO (-2)
578: #define TDN_DISPSPEC (-3)
579: #define TDN_PCMCIAINFO (-4)
580:
581: 582: 583:
584: typedef enum tdevttyp {
585: TDE_unknown = 0,
586: TDE_MOUNT = 0x01,
587: TDE_EJECT = 0x02,
588: TDE_ILLMOUNT = 0x03,
589: TDE_ILLEJECT = 0x04,
590: TDE_REMOUNT = 0x05,
591: TDE_CARDBATLOW = 0x06,
592: TDE_CARDBATFAIL = 0x07,
593: TDE_REQEJECT = 0x08,
594: TDE_PDBUT = 0x11,
595: TDE_PDMOVE = 0x12,
596: TDE_PDSTATE = 0x13,
597: TDE_PDEXT = 0x14,
598: TDE_KEYDOWN = 0x21,
599: TDE_KEYUP = 0x22,
600: TDE_KEYMETA = 0x23,
601: TDE_POWEROFF = 0x31,
602: TDE_POWERLOW = 0x32,
603: TDE_POWERFAIL = 0x33,
604: TDE_POWERSUS = 0x34,
605: TDE_POWERUPTM = 0x35,
606: TDE_CKPWON = 0x41
607: } TDEvtTyp;
608:
609: 610: 611:
612: typedef struct t_devevt {
613: TDEvtTyp evttyp;
614:
615: } T_DEVEVT;
616:
617: 618: 619:
620: typedef struct t_devevt_id {
621: TDEvtTyp evttyp;
622: ID devid;
623:
624: } T_DEVEVT_ID;
625:
626:
627:
628: 629: 630:
631: typedef struct t_ddev {
632: void *exinf;
633: ATR drvatr;
634: ATR devatr;
635: INT nsub;
636: W blksz;
637: FP openfn;
638: FP closefn;
639: FP execfn;
640: FP waitfn;
641: FP abortfn;
642: FP eventfn;
643: } T_DDEV;
644:
645: 646: 647: 648: 649: 650: 651: 652: 653: 654: 655: 656: 657: 658:
659:
660: 661: 662:
663: #define TDA_OPENREQ 0x0001U
664:
665: 666: 667:
668: typedef struct t_idev {
669: ID evtmbfid;
670: } T_IDEV;
671:
672: 673: 674: 675: 676:
677: typedef struct t_devreq {
678: struct t_devreq *next;
679: void *exinf;
680: ID devid;
681: INT cmd:4;
682: BOOL abort:1;
683: W start;
684: W size;
685: void *buf;
686: W asize;
687: ER error;
688: } T_DEVREQ;
689:
690: 691: 692:
693: #define TDC_READ 1
694: #define TDC_WRITE 2
695:
696: 697: 698:
699: #define TDV_SUSPEND (-1)
700: #define TDV_RESUME (-2)
701: #define TDV_CARDEVT 1
702: #define TDV_USBEVT 2
703:
704: 705: 706:
707: IMPORT ID tk_cre_tsk( CONST T_CTSK *pk_ctsk );
708: IMPORT ER tk_del_tsk( ID tskid );
709: IMPORT ER tk_sta_tsk( ID tskid, INT stacd );
710: IMPORT void tk_ext_tsk( void );
711: IMPORT void tk_exd_tsk( void );
712: IMPORT ER tk_ter_tsk( ID tskid );
713: IMPORT ER tk_dis_dsp( void );
714: IMPORT ER tk_ena_dsp( void );
715: IMPORT ER tk_chg_pri( ID tskid, PRI tskpri );
716: IMPORT ER tk_rot_rdq( PRI tskpri );
717: IMPORT ER tk_rel_wai( ID tskid );
718: IMPORT ID tk_get_tid( void );
719: IMPORT ER tk_ref_tsk( ID tskid, T_RTSK *pk_rtsk );
720: IMPORT ER tk_sus_tsk( ID tskid );
721: IMPORT ER tk_rsm_tsk( ID tskid );
722: IMPORT ER tk_frsm_tsk( ID tskid );
723: IMPORT ER tk_slp_tsk( TMO tmout );
724: IMPORT ER tk_wup_tsk( ID tskid );
725: IMPORT INT tk_can_wup( ID tskid );
726: IMPORT ER tk_dly_tsk( RELTIM dlytim );
727:
728: #if TK_SUPPORT_REGOPS
729: IMPORT ER tk_get_reg( ID tskid, T_REGS *pk_regs, T_EIT *pk_eit, T_CREGS *pk_cregs );
730: IMPORT ER tk_set_reg( ID tskid, CONST T_REGS *pk_regs, CONST T_EIT *pk_eit, CONST T_CREGS *pk_cregs );
731: #endif
732:
733: #if NUM_COPROCESSOR > 0
734: IMPORT ER tk_get_cpr( ID tskid, INT copno, T_COPREGS *pk_copregs);
735: IMPORT ER tk_set_cpr(ID tskid, INT copno, CONST T_COPREGS *pk_copregs);
736: #endif
737:
738: IMPORT ID tk_cre_sem( CONST T_CSEM *pk_csem );
739: IMPORT ER tk_del_sem( ID semid );
740: IMPORT ER tk_sig_sem( ID semid, INT cnt );
741: IMPORT ER tk_wai_sem( ID semid, INT cnt, TMO tmout );
742: IMPORT ER tk_ref_sem( ID semid, T_RSEM *pk_rsem );
743:
744: IMPORT ID tk_cre_mtx( CONST T_CMTX *pk_cmtx );
745: IMPORT ER tk_del_mtx( ID mtxid );
746: IMPORT ER tk_loc_mtx( ID mtxid, TMO tmout );
747: IMPORT ER tk_unl_mtx( ID mtxid );
748: IMPORT ER tk_ref_mtx( ID mtxid, T_RMTX *pk_rmtx );
749:
750: IMPORT ID tk_cre_flg( CONST T_CFLG *pk_cflg );
751: IMPORT ER tk_del_flg( ID flgid );
752: IMPORT ER tk_set_flg( ID flgid, UINT setptn );
753: IMPORT ER tk_clr_flg( ID flgid, UINT clrptn );
754: IMPORT ER tk_wai_flg( ID flgid, UINT waiptn, UINT wfmode, UINT *p_flgptn, TMO tmout );
755: IMPORT ER tk_ref_flg( ID flgid, T_RFLG *pk_rflg );
756:
757: IMPORT ID tk_cre_mbx( CONST T_CMBX* pk_cmbx );
758: IMPORT ER tk_del_mbx( ID mbxid );
759: IMPORT ER tk_snd_mbx( ID mbxid, T_MSG *pk_msg );
760: IMPORT ER tk_rcv_mbx( ID mbxid, T_MSG **ppk_msg, TMO tmout );
761: IMPORT ER tk_ref_mbx( ID mbxid, T_RMBX *pk_rmbx );
762: IMPORT ID tk_cre_mbf( CONST T_CMBF *pk_cmbf );
763: IMPORT ER tk_del_mbf( ID mbfid );
764: IMPORT ER tk_snd_mbf( ID mbfid, CONST void *msg, INT msgsz, TMO tmout );
765: IMPORT INT tk_rcv_mbf( ID mbfid, void *msg, TMO tmout );
766: IMPORT ER tk_ref_mbf( ID mbfid, T_RMBF *pk_rmbf );
767:
768: IMPORT ID tk_cre_por( CONST T_CPOR *pk_cpor );
769: IMPORT ER tk_del_por( ID porid );
770: IMPORT INT tk_cal_por( ID porid, UINT calptn, void *msg, INT cmsgsz, TMO tmout );
771: IMPORT INT tk_acp_por( ID porid, UINT acpptn, RNO *p_rdvno, void *msg, TMO tmout );
772: IMPORT ER tk_fwd_por( ID porid, UINT calptn, RNO rdvno, CONST void *msg, INT cmsgsz );
773: IMPORT ER tk_rpl_rdv( RNO rdvno, CONST void *msg, INT rmsgsz );
774: IMPORT ER tk_ref_por( ID porid, T_RPOR *pk_rpor );
775:
776: IMPORT ER tk_def_int( UINT intno, CONST T_DINT *pk_dint );
777: IMPORT void tk_ret_int( void );
778:
779: IMPORT ID tk_cre_mpl( CONST T_CMPL *pk_cmpl );
780: IMPORT ER tk_del_mpl( ID mplid );
781: IMPORT ER tk_get_mpl( ID mplid, SZ blksz, void **p_blk, TMO tmout );
782: IMPORT ER tk_rel_mpl( ID mplid, void *blk );
783: IMPORT ER tk_ref_mpl( ID mplid, T_RMPL *pk_rmpl );
784:
785: IMPORT ID tk_cre_mpf( CONST T_CMPF *pk_cmpf );
786: IMPORT ER tk_del_mpf( ID mpfid );
787: IMPORT ER tk_get_mpf( ID mpfid, void **p_blf, TMO tmout );
788: IMPORT ER tk_rel_mpf( ID mpfid, void *blf );
789: IMPORT ER tk_ref_mpf( ID mpfid, T_RMPF *pk_rmpf );
790:
791: IMPORT ER tk_set_utc( CONST SYSTIM *pk_tim );
792: IMPORT ER tk_get_utc( SYSTIM *pk_tim );
793: IMPORT ER tk_set_tim( CONST SYSTIM *pk_tim );
794: IMPORT ER tk_get_tim( SYSTIM *pk_tim );
795: IMPORT ER tk_get_otm( SYSTIM *pk_tim );
796:
797: IMPORT ID tk_cre_cyc( CONST T_CCYC *pk_ccyc );
798: IMPORT ER tk_del_cyc( ID cycid );
799: IMPORT ER tk_sta_cyc( ID cycid );
800: IMPORT ER tk_stp_cyc( ID cycid );
801: IMPORT ER tk_ref_cyc( ID cycid, T_RCYC *pk_rcyc );
802:
803: IMPORT ID tk_cre_alm( CONST T_CALM *pk_calm );
804: IMPORT ER tk_del_alm( ID almid );
805: IMPORT ER tk_sta_alm( ID almid, RELTIM almtim );
806: IMPORT ER tk_stp_alm( ID almid );
807: IMPORT ER tk_ref_alm( ID almid, T_RALM *pk_ralm );
808:
809: IMPORT ER tk_ref_sys( T_RSYS *pk_rsys );
810: IMPORT ER tk_set_pow( UINT powmode);
811: IMPORT ER tk_ref_ver( T_RVER *pk_rver );
812:
813: IMPORT ER tk_def_ssy( ID ssid, CONST T_DSSY *pk_dssy );
814: IMPORT ER tk_ref_ssy( ID ssid, T_RSSY *pk_rssy );
815:
816: IMPORT ID tk_opn_dev( CONST UB *devnm, UINT omode );
817: IMPORT ER tk_cls_dev( ID dd, UINT option );
818: IMPORT ID tk_rea_dev( ID dd, W start, void *buf, SZ size, TMO tmout );
819: IMPORT ER tk_srea_dev( ID dd, W start, void *buf, SZ size, SZ *asize );
820: IMPORT ID tk_wri_dev( ID dd, W start, CONST void *buf, SZ size, TMO tmout );
821: IMPORT ER tk_swri_dev( ID dd, W start, CONST void *buf, SZ size, SZ *asize );
822: IMPORT ID tk_wai_dev( ID dd, ID reqid, SZ *asize, ER *ioer, TMO tmout );
823: IMPORT INT tk_sus_dev( UINT mode );
824: IMPORT ID tk_get_dev( ID devid, UB *devnm );
825: IMPORT ID tk_ref_dev( CONST UB *devnm, T_RDEV *pk_rdev );
826: IMPORT ID tk_oref_dev( ID dd, T_RDEV *pk_rdev );
827: IMPORT INT tk_lst_dev( T_LDEV *pk_ldev, INT start, INT ndev );
828: IMPORT INT tk_evt_dev( ID devid, INT evttyp, void *evtinf );
829: IMPORT ID tk_def_dev( CONST UB *devnm, CONST T_DDEV *pk_ddev, T_IDEV *pk_idev );
830: IMPORT ER tk_ref_idv( T_IDEV *pk_idev );
831:
832: #endif