-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathERWAIT.C
58 lines (46 loc) · 840 Bytes
/
ERWAIT.C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/* ERWAIT.C */
/* 28 DEC 84, ES=7.00 */
#include <portab.h>
#include "system.h"
#define PBLK struct _pblock
#define RECT struct _rect
EXTERN LONG __OSIF();
EXTERN VOID zerofil();
PBLK
{
BYTE pb_mode;
BYTE pb_option;
WORD pb_flags;
LONG pb_swi;
LONG pb_id;
LONG pb_buffer;
LONG pb_bufsiz;
LONG pb_p1;
LONG pb_p2;
LONG pb_p3;
};
RECT
{
UWORD col;
UWORD row;
UWORD ncol;
UWORD nrow;
};
LONG e_rwait(swi,flags,fnum,region)
WORD flags;
LONG swi,fnum;
RECT *region;
{
PBLK p;
UWORD *s,*d;
BYTE i;
zerofil(&p,sizeof(PBLK));
p.pb_mode = 1; /* set the async bit */
p.pb_flags = flags;
p.pb_swi = swi;
p.pb_id = fnum;
s = (UWORD *) region;
d = (UWORD *) &p.pb_buffer;
for(i=0;i<4;i++) *d++ = *s++;
return( __OSIF(F_RWAIT,&p));
}