Adds chaninfo()
[akaros.git] / kern / drivers / dev / pipe.c
index ba643ef..46eaea4 100644 (file)
@@ -222,10 +222,9 @@ pipeopen(struct chan *c, int omode)
        Pipe *p;
 
        if(c->qid.type & QTDIR){
-               /* let it go however */
-               if(omode != OREAD)
-                       printk/*error*/("Can only open directories OREAD, mode is %d", omode);
-               c->mode = OREAD; //omode;
+               if (!IS_RDONLY(omode))
+                       error("Can only open directories OREAD, mode is %o oct", omode);
+               c->mode = openmode(omode);
                c->flag |= COPEN;
                c->offset = 0;
                return c;
@@ -479,4 +478,6 @@ struct dev pipedevtab __devtab = {
        pipebwrite,
        devremove,
        pipewstat,
+       devpower,
+       devchaninfo,
 };