qio: add a few block helpers
[akaros.git] / kern / include / ns.h
index 5615df0..ddab4ae 100644 (file)
@@ -67,10 +67,6 @@ extern double pow10(int);
  * one-of-a-kind
  */
 extern char *cleanname(char *unused_char_p_t);
-static inline uint32_t getcallerpc(void *v)
-{
-       return 0;
-}
 
 extern int getfields(char *unused_char_p_t, char **unused_char_pp_t,
                                         int unused_int, int, char *);
@@ -440,8 +436,8 @@ struct block {
        void (*free) (struct block *);
        uint16_t flag;
        uint16_t mss;                   /* TCP MSS for TSO */
-       uint16_t network_offset;        /* offset from start */
-       uint16_t transport_offset;      /* offset from start */
+       uint16_t network_offset;        /* offset from rp */
+       uint16_t transport_offset;      /* offset from rp */
        uint16_t tx_csum_offset;        /* offset from tx_offset to store csum */
        /* might want something to track the next free extra_data slot */
        size_t extra_len;
@@ -777,6 +773,11 @@ int block_append_extra(struct block *b, uintptr_t base, uint32_t off,
                        uint32_t len, int mem_flags);
 void block_copy_metadata(struct block *new_b, struct block *old_b);
 void block_reset_metadata(struct block *b);
+void block_add_to_offsets(struct block *b, int delta);
+void block_transfer_extras(struct block *new, struct block *old);
+void block_replace_extras(struct block *new, struct block *old);
+struct block *block_realloc(struct block *b, size_t header_space);
+size_t block_copy_to_body(struct block *to, void *from, size_t copy_amt);
 int anyhigher(void);
 int anyready(void);
 void _assert(char *unused_char_p_t);
@@ -1057,7 +1058,7 @@ void devtabinit();
 void devtabreset();
 
 /* kern/src/ns/parse.c */
-struct cmdbuf *parsecmd(char *p, int n);
+struct cmdbuf *parsecmd(char *p, size_t n);
 void cmderror(struct cmdbuf *cb, char *s);
 struct cmdtab *lookupcmd(struct cmdbuf *cb, struct cmdtab *ctab, int nctab);
 
@@ -1078,7 +1079,6 @@ int sys_dup_to(struct proc *from_proc, unsigned int from_fd,
                struct proc *to_proc, unsigned int to_fd);
 int sysfstat(int fd, uint8_t*, int n);
 int sysfstatakaros(int fd, struct kstat *);
-char *sysfd2path(int fd);
 char *sysgetcwd(void);
 int sysfauth(int fd, char *aname);
 int sysfversion(int fd, unsigned int msize, char *vers, unsigned int arglen);