From: ceriel Date: Wed, 25 Feb 1987 16:41:54 +0000 (+0000) Subject: Initial revision X-Git-Tag: release-5-5~4600 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=0d6d5ff541b284c776ba3db1f34041386c6d932f;p=ack.git Initial revision --- diff --git a/lang/occam/lib/chan_strct.c b/lang/occam/lib/chan_strct.c new file mode 100644 index 000000000..5fcb3e8b7 --- /dev/null +++ b/lang/occam/lib/chan_strct.c @@ -0,0 +1,39 @@ +/* chan_struct.c - channel routines for more structured objects */ +#include "ocm_chan.h" + +void cbyte_in(b, c) char *b; chan *c; +{ + long v; + chan_in(&v, c); + *b= (char) v; +} + +void c_wa_in(a, z, c) register long *a; register unsigned z; register chan *c; +{ + do + chan_in(a++, c); + while (--z!=0); +} + +void c_ba_in(a, z, c) register char *a; register unsigned z; register chan *c; +{ + do { + long v; + chan_in(&v, c); + *a++ = (char) v; + } while (--z!=0); +} + +void c_wa_out(a, z, c) register long *a; register unsigned z; register chan *c; +{ + do + chan_out(*a++, c); + while (--z!=0); +} + +void c_ba_out(a, z, c) register char *a; register unsigned z; register chan *c; +{ + do + chan_out((long) (*a++ &0377), c); + while (--z!=0); +}