From c23b7e709ecda8f1e3d6fe932d85321ced502ef6 Mon Sep 17 00:00:00 2001 From: Greg Chesson Date: Mon, 14 May 1979 02:12:45 -0500 Subject: [PATCH] Research V7 development Work on file usr/src/libc/gen/mpx.c Synthesized-from: v7 --- usr/src/libc/gen/mpx.c | 83 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 usr/src/libc/gen/mpx.c diff --git a/usr/src/libc/gen/mpx.c b/usr/src/libc/gen/mpx.c new file mode 100644 index 0000000000..e42a6492ef --- /dev/null +++ b/usr/src/libc/gen/mpx.c @@ -0,0 +1,83 @@ +#include +#include +#include + +static struct mx_args vec; +int mpxcall(); + + +mpx(name,mode) +char *name; +{ + if (*name) { + vec.m_name = name; + vec.m_arg[0] = mode; + return(mpxcall(MPX, &vec)); + } else + return(mpxcall(MPXN, 0)); +} + +chan(gr) +{ + vec.m_arg[1] = gr; + return(mpxcall(CHAN, &vec)); +} + +join(fd,ch) +{ + vec.m_arg[0] = fd; + vec.m_arg[1] = ch; + return(mpxcall(JOIN, &vec)); +} + +connect(fd,ch,side) +{ + vec.m_arg[0] = fd; + vec.m_arg[1] = ch; + vec.m_arg[2] = side; + return(mpxcall(CONNECT, &vec)); +} + +attach(sub,gp) +{ + vec.m_arg[0] = sub; + vec.m_arg[1] = gp; + return(mpxcall(ATTACH, &vec)); +} + +detach(sub,gp) +{ + vec.m_arg[0] = sub; + vec.m_arg[1] = gp; + return(mpxcall(DETACH, &vec)); +} + +extract(sub,ch,side) +{ + vec.m_arg[0] = sub; + vec.m_arg[1] = ch; + vec.m_arg[2] = side; + return(mpxcall(EXTR, &vec)); +} + +debug(var,val) +{ + vec.m_arg[0] = var; + vec.m_arg[1] = val; + return(mpxcall(DEBUG, &vec)); +} + +npgrp(ch, gfd, pid) +{ + vec.m_arg[0] = ch; + vec.m_arg[1] = gfd; + vec.m_arg[2] = pid; + return(mpxcall(NPGRP, &vec)); +} +ckill(index,gp,sig) +{ + vec.m_arg[0] = index; + vec.m_arg[1] = gp; + vec.m_arg[2] = sig; + return(mpxcall(CSIG, &vec)); +} -- 2.20.1