Convert omode to 9p for devmnt [4/7]
[akaros.git] / kern / include / ns.h
index 533d2b0..ed4f386 100644 (file)
@@ -100,6 +100,9 @@ extern int parseether(uint8_t * unused_uint8_p_t, char *unused_char_p_t);
 #define DMWRITE                0x2     /* mode bit for write permission */
 #define DMEXEC         0x1     /* mode bit for execute permission */
 
+/* Helper for mode checks.  It's poorly named since it's really "not writable"*/
+#define IS_RDONLY(x) (!((x) & O_WRITE))
+
 struct qid {
        uint64_t path;
        uint32_t vers;
@@ -766,6 +769,8 @@ void notkilled(void);
 int nrand(int);
 uint64_t ns2fastticks(uint64_t);
 int okaddr(uint32_t, uint32_t, int);
+int omode_to_rwx(int);
+int omode_to_9p_accmode(int open_flags);
 struct block *packblock(struct block *);
 struct block *padblock(struct block *, int);
 
@@ -813,6 +818,9 @@ void qreopen(struct queue *);
 void qsetlimit(struct queue *, int);
 int qwindow(struct queue *);
 int qwrite(struct queue *, void *, int);
+typedef void (*qio_wake_cb_t)(struct queue *q, void *data, int filter);
+void qio_set_wake_cb(struct queue *q, qio_wake_cb_t func, void *data);
+
 void randominit(void);
 uint32_t randomread(void *, uint32_t);
 void *realloc(void *, uint32_t);