~ruther/guix-local

b89e74054ee54b3afc8aed99fe9be89e8e05890b — Ludovic Courtès 10 years ago 53de532
syscalls: Rename 'network-interfaces' and 'all-network-interfaces'.

* guix/build/syscalls.scm (network-interfaces): Rename to...
  (network-interface-names): ... this.
  (all-network-interfaces): Rename to...
  (all-network-interface-names): ... this.
* gnu/services/networking.scm (dhcp-client-service): Adjust accordingly.
* tests/syscalls.scm ("all-network-interfaces"): Rename to...
  ("all-network-interface-names"): ... this, and adjust accordingly.
  ("network-interfaces"): Rename to...
  ("network-interface-names"): ... this, and adjust accordingly.
3 files changed, 13 insertions(+), 13 deletions(-)

M gnu/services/networking.scm
M guix/build/syscalls.scm
M tests/syscalls.scm
M gnu/services/networking.scm => gnu/services/networking.scm +1 -1
@@ 173,7 173,7 @@ Protocol (DHCP) client, on all the non-loopback network interfaces."
                        (define valid?
                          (negate loopback-network-interface?))
                        (define ifaces
                          (filter valid? (all-network-interfaces)))
                          (filter valid? (all-network-interface-names)))

                        ;; XXX: Make sure the interfaces are up so that
                        ;; 'dhclient' can actually send/receive over them.

M guix/build/syscalls.scm => guix/build/syscalls.scm +7 -7
@@ 60,8 60,8 @@
            IFF_UP
            IFF_BROADCAST
            IFF_LOOPBACK
            all-network-interfaces
            network-interfaces
            all-network-interface-names
            network-interface-names
            network-interface-flags
            loopback-network-interface?
            network-interface-address


@@ 533,8 533,8 @@ most LEN bytes from BV."
                                      (take-while (negate zero?) bytes)))
                   result))))))

(define* (network-interfaces #:optional sock)
  "Return the list of existing network interfaces.  This is typically limited
(define* (network-interface-names #:optional sock)
  "Return the names of existing network interfaces.  This is typically limited
to interfaces that are currently up."
  (let* ((close? (not sock))
         (sock   (or sock (socket SOCK_STREAM AF_INET 0)))


@@ 559,9 559,9 @@ to interfaces that are currently up."
  ;; Regexp matching an interface line in Linux's /proc/net/dev.
  (make-regexp "^[[:blank:]]*([[:alnum:]]+):.*$"))

(define (all-network-interfaces)
  "Return all the registered network interfaces, including those that are not
up."
(define (all-network-interface-names)
  "Return all the names of the registered network interfaces, including those
that are not up."
  (call-with-input-file "/proc/net/dev"           ;XXX: Linux-specific
    (lambda (port)
      (let loop ((interfaces '()))

M tests/syscalls.scm => tests/syscalls.scm +5 -5
@@ 152,15 152,15 @@
                         (status:exit-val status))))
               (eq? #t result))))))))

(test-assert "all-network-interfaces"
  (match (all-network-interfaces)
(test-assert "all-network-interface-names"
  (match (all-network-interface-names)
    (((? string? names) ..1)
     (member "lo" names))))

(test-assert "network-interfaces"
  (match (network-interfaces)
(test-assert "network-interface-names"
  (match (network-interface-names)
    (((? string? names) ..1)
     (lset<= string=? names (all-network-interfaces)))))
     (lset<= string=? names (all-network-interface-names)))))

(test-assert "network-interface-flags"
  (let* ((sock  (socket AF_INET SOCK_STREAM 0))