Print. Add printing for qids, cnams, and chans
[akaros.git] / kern / include / ns.h
index 667971b..955129a 100644 (file)
@@ -121,9 +121,6 @@ struct dir {
        char *muid;                                     /* last modifier name */
 };
 
-/* Part of the dirty kdirent hack in sysread.  Used to be 59... */
-#define MIN_M_BUF_SZ 52                        /* TODO: 53 is the smallest i've seen */
-
 struct waitmsg {
        int pid;                                        /* of loved one */
        uint32_t time[3];                       /* of loved one and descendants */
@@ -246,6 +243,7 @@ enum {
        Tmax,
 };
 
+void init_empty_dir(struct dir *d);
 unsigned int convM2S(uint8_t * unused_uint8_p_t, unsigned int unused_int,
                                         struct fcall *);
 unsigned int convS2M(struct fcall *, uint8_t * unused_uint8_p_t, unsigned int);
@@ -303,6 +301,7 @@ enum {
        Amount,                                         /* to be mounted or mounted upon */
        Acreate,                                        /* is to be created */
        Aremove,                                        /* will be removed by caller */
+       Acreatechan,                                    /* return a chan for a create request. for sysrename. */
 
        COPEN = 0x0001,                         /* for i/o */
        CMSG = 0x0002,  /* the message channel for a mount */
@@ -389,6 +388,10 @@ struct chan {
        struct chan *mchan;                     /* channel to mounted server */
        struct qid mqid;                        /* qid of root of mount point */
        struct cname *name;
+       /* hack for dir reads to try to get them right. */
+       int ateof;
+       void *buf;
+       int bufused;
 };
 
 struct cname {
@@ -1022,6 +1025,11 @@ int fd_setfl(int fd, int flags);
 /* kern/drivers/dev/srv.c */
 char *srvname(struct chan *c);
 
+/* kern/src/eipconv.c. Put them here or face real include hell. */
+void printqid(void (*putch) (int, void **), void **putdat, struct qid *q);
+void printcname(void (*putch) (int, void **), void **putdat, struct cname *c);
+void printchan(void (*putch) (int, void **), void **putdat, struct chan *c);
+
 static inline int abs(int a)
 {
        if (a < 0)