diff options
author | William Harrington <kb0iic@berzerkula.org> | 2025-01-14 16:06:02 -0600 |
---|---|---|
committer | William Harrington <kb0iic@berzerkula.org> | 2025-01-14 16:06:02 -0600 |
commit | 0cc9b20c15460213e488bf5e70963b941482f628 (patch) | |
tree | bb0143245583ec846630f39bfa2258dba640ccd7 /sdk/dev/waitsync.c | |
parent | 0e084ade5069756d487b5c948c48b777e37c00c9 (diff) |
Add source.
Diffstat (limited to 'sdk/dev/waitsync.c')
-rw-r--r-- | sdk/dev/waitsync.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/sdk/dev/waitsync.c b/sdk/dev/waitsync.c new file mode 100644 index 0000000..f4596e1 --- /dev/null +++ b/sdk/dev/waitsync.c @@ -0,0 +1,32 @@ +/* + * Wait for a sync input value from a device. + * $Id$ + * Copyright (c) 1997 by Tycho Softworks. + * For conditions of distribution and reuse see product license. + */ + +#include <dev/tty.h> + +int waitsync(int fd, uchar *list, size_t len, int timeout, ulong max) +{ + int key; + int idx; + uchar buf; + + while(max--) + { + key = inkey(fd, timeout); + if(key < 0) + return key; + + buf = (uchar)(key & 0xff); + + for(idx = 0; idx < len; ++idx) + if(list[idx] == buf) + return buf; + } + return -1; +} + + + |