chan_strct.c 733 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /* $Id$ */
  2. /* chan_struct.c - channel routines for more structured objects */
  3. #include "ocm_chan.h"
  4. void cbyte_in(b, c) char *b; chan *c;
  5. {
  6. long v;
  7. chan_in(&v, c);
  8. *b= (char) v;
  9. }
  10. void c_wa_in(a, z, c) register long *a; register unsigned z; register chan *c;
  11. {
  12. do
  13. chan_in(a++, c);
  14. while (--z!=0);
  15. }
  16. void c_ba_in(a, z, c) register char *a; register unsigned z; register chan *c;
  17. {
  18. do {
  19. long v;
  20. chan_in(&v, c);
  21. *a++ = (char) v;
  22. } while (--z!=0);
  23. }
  24. void c_wa_out(a, z, c) register long *a; register unsigned z; register chan *c;
  25. {
  26. do
  27. chan_out(*a++, c);
  28. while (--z!=0);
  29. }
  30. void c_ba_out(a, z, c) register char *a; register unsigned z; register chan *c;
  31. {
  32. do
  33. chan_out((long) (*a++ &0377), c);
  34. while (--z!=0);
  35. }