scsh-checkins
[Top] [All Lists]

[Scsh-checkins] CVS: scsh-0.6/scsh network.scm,1.14,1.15 network1.c,1.17

To: scsh-checkins@lists.sourceforge.net
Subject: [Scsh-checkins] CVS: scsh-0.6/scsh network.scm,1.14,1.15 network1.c,1.17,1.18
From: Martin Gasbichler <mainzelm@users.sourceforge.net>
Date: Mon, 02 Apr 2001 07:57:28 -0700
List-id: <scsh-checkins.lists.sourceforge.net>
Sender: scsh-checkins-admin@lists.sourceforge.net
Update of /cvsroot/scsh/scsh-0.6/scsh
In directory usw-pr-cvs1:/tmp/cvs-serv4766

Modified Files:
        network.scm network1.c 
Log Message:
Switched back to integers as internet-host-addresses.


Index: network.scm
===================================================================
RCS file: /cvsroot/scsh/scsh-0.6/scsh/network.scm,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -r1.14 -r1.15
*** network.scm 2001/01/01 17:34:08     1.14
--- network.scm 2001/04/02 14:57:25     1.15
***************
*** 2,5 ****
--- 2,6 ----
  ;;; Copyright (c) 1994-1995 by Brian D. Carlstrom.
  ;;; Copyright (c) 1994 by Olin Shivers.
+ ;;; See file COPYING.
  
  ;;; Scheme48 implementation.
***************
*** 22,43 ****
   "" )
  
- (define (byte-vector->integer bv)
-   (let ((number (byte-vector-ref bv 0)))
-     (set! number (bitwise-ior number (arithmetic-shift (byte-vector-ref bv 1)
-                                                     8)))
-     (set! number (bitwise-ior number (arithmetic-shift (byte-vector-ref bv 2)
-                                                     16)))
-     (bitwise-ior number (arithmetic-shift (byte-vector-ref bv 3)
-                                                     24))))
- 
- (define (integer->byte-vector number)
-   (let ((bv (make-byte-vector 4 0)))
-     (byte-vector-set! bv 0 (bitwise-and number #xff))
-     (byte-vector-set! bv 1 (bitwise-and (arithmetic-shift number -8) #xff))
-     (byte-vector-set! bv 2 (bitwise-and (arithmetic-shift number -16) #xff))
-     (byte-vector-set! bv 3 (bitwise-and (arithmetic-shift number -24) #xff))
-     bv))
- 
- 
  ;;;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  ;;; High Level Prototypes
--- 23,26 ----
***************
*** 74,80 ****
         (lambda () #f)
         (lambda () (connect-socket sock addr) (set! connected #t))
!        (lambda () #f
!          ;(if (not connected)
!          ;    (close-socket sock))
         ))
        (if connected
--- 57,63 ----
         (lambda () #f)
         (lambda () (connect-socket sock addr) (set! connected #t))
!        (lambda () 
!          (if (not connected)
!              (close-socket sock))
         ))
        (if connected
***************
*** 130,172 ****
  ;;; Socket Address Routines
  ;;;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- (define (internet-host-address-from-number address32)
-   (integer->byte-vector address32))
- 
- (define (internet-host-address-from-bytes b4 b3 b2 b1)
-   (let ((bv (make-byte-vector 4 0)))
-     (byte-vector-set! bv 0 b1)
-     (byte-vector-set! bv 1 b2)
-     (byte-vector-set! bv 2 b3)
-     (byte-vector-set! bv 3 b4)
-     bv))
- 
- (define (internet-host-address-to-bytes address)
-   (list  (byte-vector-ref address 3)
-        (byte-vector-ref address 2)
-        (byte-vector-ref address 1)
-        (byte-vector-ref address 0)))
- 
- ;;; This proc and its inverse should be in a general IP module.
- (define (internet-host-address->dotted-string bv)
-   (let* ((byte0 (byte-vector-ref bv 0))
-        (byte1 (byte-vector-ref bv 1))
-        (byte2 (byte-vector-ref bv 2))
-        (byte3 (byte-vector-ref bv 3)))
-     (string-append (number->string byte3) "." (number->string byte2) "."
-                  (number->string byte1) "." (number->string byte0))))
- 
- (define (internet-host-address-to-number address)
-   (byte-vector->integer address))
- 
- (set! internet-address/any 
-       (internet-host-address-from-number internet-address/any ))
- (set! internet-address/loopback 
-       (internet-host-address-from-number internet-address/loopback ))
- (set! internet-address/broadcast 
-       (internet-host-address-from-number internet-address/broadcast ))
- 
  (define (internet-address->socket-address address32 port16)
!   (cond ((not (and (byte-vector? address32) 
!                  (= (byte-vector-length address32) 4)))
         (error "internet-address->socket-address: address out of range ~s"
                address32))
--- 113,118 ----
  ;;; Socket Address Routines
  ;;;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  (define (internet-address->socket-address address32 port16)
!   (cond ((not (<= 0 address32 #xffffffff))
         (error "internet-address->socket-address: address out of range ~s"
                address32))
***************
*** 761,766 ****
  
  (define (address->network-info addr)
!   (if (not (byte-vector? addr))
!       (error "address->network-info: byte-vector expected ~s" addr)
        (%net-address->network-info addr)))
  
--- 707,712 ----
  
  (define (address->network-info addr)
!   (if (not (integer? addr))
!       (error "address->network-info: integer expected ~s" addr)
        (%net-address->network-info addr)))
  

Index: network1.c
===================================================================
RCS file: /cvsroot/scsh/scsh-0.6/scsh/network1.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -r1.17 -r1.18
*** network1.c  2001/01/01 17:34:08     1.17
--- network1.c  2001/04/02 14:57:25     1.18
***************
*** 28,50 ****
  #define SET_LONG(x,n,v) GET_LONG((x),(n))=(u_long)(v);
  
- s48_value long2byte_vector (u_long number)
- {
-   s48_value bv = s48_make_byte_vector (4, 0);
-   S48_BYTE_VECTOR_SET(bv, 0, number & 0xff);
-   S48_BYTE_VECTOR_SET(bv, 1, (number >> 8) & 0xff);
-   S48_BYTE_VECTOR_SET(bv, 2, (number >> 16) & 0xff);
-   S48_BYTE_VECTOR_SET(bv, 3, (number >> 24) & 0xff);
-   return bv;
- }
- 
- u_long byte_vector2long (s48_value bv)
- {
-   u_long number = (u_char) S48_BYTE_VECTOR_REF (bv, 0);
-   number |=  (((u_char) S48_BYTE_VECTOR_REF (bv, 1)) << 8);
-   number |=  (((u_char) S48_BYTE_VECTOR_REF (bv, 2)) << 16);
-   number |=  (((u_char) S48_BYTE_VECTOR_REF (bv, 3)) << 24);
-   return number;
- }
- 
  /*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
  s48_value scheme_bind(s48_value sock, s48_value family, s48_value scheme_name)
--- 28,31 ----
***************
*** 73,77 ****
        struct sockaddr_in name;
  
!       u_long  addr = htonl(byte_vector2long (S48_CAR (scheme_name)));
        u_short port = htons(s48_extract_fixnum (S48_CDR (scheme_name)));
  
--- 54,58 ----
        struct sockaddr_in name;
  
!       u_long  addr = htonl(s48_extract_unsigned_integer (S48_CAR 
(scheme_name)));
        u_short port = htons(s48_extract_fixnum (S48_CDR (scheme_name)));
  
***************
*** 128,132 ****
        struct sockaddr_in name;
        
!       u_long addr= htonl(byte_vector2long (S48_CAR (scheme_name)));
        u_short port= htons(s48_extract_fixnum (S48_CDR (scheme_name)));
  
--- 109,113 ----
        struct sockaddr_in name;
        
!       u_long addr= htonl(s48_extract_unsigned_integer (S48_CAR 
(scheme_name)));
        u_short port= htons(s48_extract_fixnum (S48_CDR (scheme_name)));
  
***************
*** 199,203 ****
        fcntl(newsockfd, F_SETFL, O_NONBLOCK);
        S48_GC_PROTECT_2 (result, sock_addr);
!       sock_addr = long2byte_vector (ntohl(name.sin_addr.s_addr));
        
        result = s48_cons (sock_addr, s48_enter_fixnum (ntohs(name.sin_port)));
--- 180,184 ----
        fcntl(newsockfd, F_SETFL, O_NONBLOCK);
        S48_GC_PROTECT_2 (result, sock_addr);
!       sock_addr = s48_enter_unsigned_integer (ntohl(name.sin_addr.s_addr));
        
        result = s48_cons (sock_addr, s48_enter_fixnum (ntohs(name.sin_port)));
***************
*** 219,223 ****
    S48_DECLARE_GC_PROTECT(2);
    S48_GC_PROTECT_2 (result, sock_addr);
!   sock_addr = long2byte_vector (ntohl (net_s_addr));
    
    result = s48_cons (sock_addr, s48_enter_fixnum (ntohs (net_s_port)));
--- 200,204 ----
    S48_DECLARE_GC_PROTECT(2);
    S48_GC_PROTECT_2 (result, sock_addr);
!   sock_addr = s48_enter_unsigned_integer (ntohl (net_s_addr));
    
    result = s48_cons (sock_addr, s48_enter_fixnum (ntohs (net_s_port)));
***************
*** 358,362 ****
        {
        struct sockaddr_in name;
!       u_long  addr = htonl (byte_vector2long (S48_CAR (scheme_name)));
        u_short port = htons(s48_extract_fixnum (S48_CDR (scheme_name)));
        name.sin_family=AF_INET;
--- 339,343 ----
        {
        struct sockaddr_in name;
!       u_long  addr = htonl (s48_extract_unsigned_integer (S48_CAR 
(scheme_name)));
        u_short port = htons(s48_extract_fixnum (S48_CDR (scheme_name)));
        name.sin_family=AF_INET;
***************
*** 542,546 ****
      {
        list = 
!       s48_cons (long2byte_vector (ntohl (*(long *)(host->h_addr_list[i]))), 
                  list);
        ptr++;
--- 523,527 ----
      {
        list = 
!       s48_cons (s48_enter_unsigned_integer (ntohl (*(long 
*)(host->h_addr_list[i]))), 
                  list);
        ptr++;
***************
*** 559,563 ****
    struct hostent *host;
  
!   u_long  addr = htonl(byte_vector2long (S48_CAR (addr_port)));
    name.s_addr = addr;
  
--- 540,544 ----
    struct hostent *host;
  
!   u_long  addr = htonl(s48_extract_unsigned_integer (S48_CAR (addr_port)));
    name.s_addr = addr;
  
***************
*** 618,622 ****
      
      S48_RECORD_SET (network_info, 1, list);  
!     S48_RECORD_SET (network_info, 2, long2byte_vector (net->n_net)); 
  
      S48_GC_UNPROTECT ();
--- 599,603 ----
      
      S48_RECORD_SET (network_info, 1, list);  
!     S48_RECORD_SET (network_info, 2, s48_enter_unsigned_integer 
(net->n_net)); 
  
      S48_GC_UNPROTECT ();
***************
*** 629,633 ****
    struct netent *net;
    // expects host byte order :
!   net=getnetbyaddr(byte_vector2long (net_addr),AF_INET); 
    
    return netent2net_info (net);
--- 610,614 ----
    struct netent *net;
    // expects host byte order :
!   net=getnetbyaddr(s48_extract_unsigned_integer (net_addr),AF_INET); 
    
    return netent2net_info (net);



<Prev in Thread] Current Thread [Next in Thread>
  • [Scsh-checkins] CVS: scsh-0.6/scsh network.scm,1.14,1.15 network1.c,1.17,1.18, Martin Gasbichler <=