Author: iratqq
Date: Mon Jan 19 02:23:50 2009
New Revision: 5755

Modified:
   trunk/scm/socket.scm

Log:
* scm/socket.scm:
  - Fix typo.
  - New functions.


Modified: trunk/scm/socket.scm
==============================================================================
--- trunk/scm/socket.scm        (original)
+++ trunk/scm/socket.scm        Mon Jan 19 02:23:50 2009
@@ -29,9 +29,33 @@
 ;;; SUCH DAMAGE.
 ;;;;

+(require-extension (srfi 1 2))
+(use util)
 (module-load "socket")

-(define addirinfo-ai-flags-alist (addrinfo-ai-flags-alist?))
-(define addirinfo-ai-family-alist (addrinfo-ai-family-alist?))
-(define addirinfo-ai-socktype-alist (addrinfo-ai-socktype-alist?))
-(define addirinfo-ai-protocol-alist (addrinfo-ai-protocol-alist?))
+(define addrinfo-ai-flags-alist (addrinfo-ai-flags-alist?))
+(define addrinfo-ai-family-alist (addrinfo-ai-family-alist?))
+(define addrinfo-ai-socktype-alist (addrinfo-ai-socktype-alist?))
+(define addrinfo-ai-protocol-alist (addrinfo-ai-protocol-alist?))
+
+(define (addrinfo-ai-flags-number l)
+  (map (lambda (s)
+         (assq-cdr s addrinfo-ai-flags-alist))
+       l))
+(define (addrinfo-ai-family-number s)
+  (assq-cdr s addrinfo-ai-family-alist))
+(define (addrinfo-ai-socktype-number s)
+  (assq-cdr s addrinfo-ai-socktype-alist))
+(define (addrinfo-ai-protocol-number s)
+  (assq-cdr s addrinfo-ai-protocol-alist))
+
+(define (string->socket-buf str)
+  (map char->integer (string->list str)))
+(define (socket-buf->string buf)
+  (list->string (map integer->char buf)))
+
+(define (call-with-getaddrinfo hostname servname hint thunk)
+  (let* ((res (getaddrinfo hostname servname hint))
+         (ret (thunk res)))
+    (freeaddrinfo (car res))
+    ret))

Reply via email to