iplib: Fix thread-unsafeness in myipaddr
[akaros.git] / user / iplib / include / iplib / iplib.h
index c0fba21..157e639 100644 (file)
@@ -195,7 +195,8 @@ int myetheraddr(uint8_t*, char*);
 int    equivip4(uint8_t*, uint8_t*);
 int    equivip6(uint8_t*, uint8_t*);
 
 int    equivip4(uint8_t*, uint8_t*);
 int    equivip6(uint8_t*, uint8_t*);
 
-struct ipifc*  readipifc(char*, struct ipifc*, int);
+struct ipifc *readipifc(char *net, struct ipifc *to_free, int index);
+void free_ipifc(struct ipifc *ifc);
 
 void   hnputv(void*, uint64_t);
 void   hnputl(void*, unsigned int);
 
 void   hnputv(void*, uint64_t);
 void   hnputl(void*, unsigned int);
@@ -204,6 +205,7 @@ uint64_t    nhgetv(void*);
 unsigned int   nhgetl(void*);
 uint16_t       nhgets(void*);
 uint16_t       ptclbsum(uint8_t*, int);
 unsigned int   nhgetl(void*);
 uint16_t       nhgets(void*);
 uint16_t       ptclbsum(uint8_t*, int);
+uint16_t ip_calc_xsum(uint8_t *addr, size_t len);
 
 int    v6tov4(uint8_t*, uint8_t*);
 void   v4tov6(uint8_t*, uint8_t*);
 
 int    v6tov4(uint8_t*, uint8_t*);
 void   v4tov6(uint8_t*, uint8_t*);
@@ -227,8 +229,11 @@ char *netmkaddr(char *linear, char *defnet, char *defsrv);
 int dial9(char *dest, char *local, char *dir, int *cfdp, int flags);
 int clone9(char *addr, char *dir, int flags);
 int announce9(char *addr, char *dir, int flags);
 int dial9(char *dest, char *local, char *dir, int *cfdp, int flags);
 int clone9(char *addr, char *dir, int flags);
 int announce9(char *addr, char *dir, int flags);
+int bypass9(char *addr, char *conv_dir, int flags);
 int listen9(char *dir, char *newdir, int flags);
 int accept9(int ctl, char *dir);
 int reject9(int ctl, char *dir, char *cause);
 int listen9(char *dir, char *newdir, int flags);
 int accept9(int ctl, char *dir);
 int reject9(int ctl, char *dir, char *cause);
+int open_data_fd9(char *conv_dir, int flags);
+bool get_port9(char *conv_dir, char *which, uint16_t *port);
 
 __END_DECLS
 
 __END_DECLS