Index: example/io/simple/server.cfa
===================================================================
--- example/io/simple/server.cfa	(revision f0d67e5abea7221dccd4183dd58ccc6cdbee32fc)
+++ example/io/simple/server.cfa	(revision 27b1ca17f81ccc20c840eef940088ae8724aaa3d)
@@ -13,4 +13,5 @@
 #include <time.hfa>
 #include <thread.hfa>
+#include <concurrency/iofwd.hfa>
 
 //----------
@@ -21,6 +22,6 @@
 }
 
-void message( Printer & mutex, char * msg, size_t len ) {
-	fprintf(stderr, "'%.*s'", len, msg);
+void message( Printer & mutex, char * _msg, size_t len ) {
+	fprintf(stderr, "'%.*s'", len, _msg);
 }
 
@@ -29,6 +30,6 @@
 }
 
-void error( Printer & mutex, const char * msg, int error) {
-	fprintf(stderr, "%s - %s\n", msg, strerror(error));
+void error( Printer & mutex, const char * _msg, int error) {
+	fprintf(stderr, "%s - %s\n", _msg, strerror(error));
 }
 
@@ -49,9 +50,4 @@
 	}
 }
-
-//----------
-extern ssize_t cfa_recvmsg(int sockfd, struct msghdr *msg, int flags);
-extern int cfa_accept4(int sockfd, struct sockaddr *addr, socklen_t *addrlen, int flags);
-extern int cfa_close(int fd);
 
 //----------
@@ -88,5 +84,5 @@
 	struct sockaddr_in cli_addr;
      	__socklen_t clilen = sizeof(cli_addr);
-	int newsock = cfa_accept4(sock, (struct sockaddr *) &cli_addr, &clilen, 0);
+	int newsock = cfa_accept4(sock, (struct sockaddr *) &cli_addr, &clilen, 0, 0, -1`s, 0p, 0p);
      	if (newsock < 0) {
 		error( printer, "accept", -newsock);
@@ -97,5 +93,5 @@
 
 	while(1) {
-		int res = cfa_recvmsg(newsock, &msg, 0);
+		int res = cfa_recvmsg(newsock, &msg, 0, 0, -1`s, 0p, 0p);
 		if(res == 0) break;
 		if(res < 0) {
@@ -107,5 +103,5 @@
 	}
 
-	ret = cfa_close(newsock);
+	ret = cfa_close(newsock, 0, -1`s, 0p, 0p);
       if(ret < 0) {
             error( printer, "close new", -ret);
@@ -113,5 +109,5 @@
       }
 
-	ret = cfa_close(sock);
+	ret = cfa_close(sock, 0, -1`s, 0p, 0p);
       if(ret < 0) {
             error( printer, "close old", -ret);
