Merge commit 'feccd2d3100fd2964d4c2df58ab3da7ce4949a66' into vm-check
[bpt/guile.git] / module / ice-9 / networking.scm
CommitLineData
52cfc69b
GH
1;;; installed-scm-file
2
cd5fea8d 3;;;; Copyright (C) 1999, 2005, 2006 Free Software Foundation, Inc.
52cfc69b 4;;;;
73be1d9e
MV
5;;;; This library is free software; you can redistribute it and/or
6;;;; modify it under the terms of the GNU Lesser General Public
7;;;; License as published by the Free Software Foundation; either
8;;;; version 2.1 of the License, or (at your option) any later version.
52cfc69b 9;;;;
73be1d9e 10;;;; This library is distributed in the hope that it will be useful,
52cfc69b 11;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
73be1d9e
MV
12;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13;;;; Lesser General Public License for more details.
52cfc69b 14;;;;
73be1d9e
MV
15;;;; You should have received a copy of the GNU Lesser General Public
16;;;; License along with this library; if not, write to the Free Software
92205699 17;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
52cfc69b
GH
18;;;;
19
20(define (gethostbyaddr addr) (gethost addr))
21(define (gethostbyname name) (gethost name))
22
23(define (getnetbyaddr addr) (getnet addr))
24(define (getnetbyname name) (getnet name))
25
26(define (getprotobyname name) (getproto name))
27(define (getprotobynumber addr) (getproto addr))
28
29(define (getservbyname name proto) (getserv name proto))
30(define (getservbyport port proto) (getserv port proto))
31
5c11cc9d
GH
32(define (sethostent . stayopen)
33 (if (pair? stayopen)
34 (sethost (car stayopen))
35 (sethost #f)))
36(define (setnetent . stayopen)
37 (if (pair? stayopen)
38 (setnet (car stayopen))
39 (setnet #f)))
40(define (setprotoent . stayopen)
41 (if (pair? stayopen)
42 (setproto (car stayopen))
43 (setproto #f)))
44(define (setservent . stayopen)
45 (if (pair? stayopen)
46 (setserv (car stayopen))
47 (setserv #f)))
52cfc69b
GH
48
49(define (gethostent) (gethost))
50(define (getnetent) (getnet))
51(define (getprotoent) (getproto))
52(define (getservent) (getserv))
53
54(define (endhostent) (sethost))
55(define (endnetent) (setnet))
56(define (endprotoent) (setproto))
57(define (endservent) (setserv))
58
59(define (hostent:name obj) (vector-ref obj 0))
60(define (hostent:aliases obj) (vector-ref obj 1))
61(define (hostent:addrtype obj) (vector-ref obj 2))
62(define (hostent:length obj) (vector-ref obj 3))
63(define (hostent:addr-list obj) (vector-ref obj 4))
64
65(define (netent:name obj) (vector-ref obj 0))
66(define (netent:aliases obj) (vector-ref obj 1))
67(define (netent:addrtype obj) (vector-ref obj 2))
68(define (netent:net obj) (vector-ref obj 3))
69
70(define (protoent:name obj) (vector-ref obj 0))
71(define (protoent:aliases obj) (vector-ref obj 1))
72(define (protoent:proto obj) (vector-ref obj 2))
73
74(define (servent:name obj) (vector-ref obj 0))
75(define (servent:aliases obj) (vector-ref obj 1))
76(define (servent:port obj) (vector-ref obj 2))
77(define (servent:proto obj) (vector-ref obj 3))
78
79(define (sockaddr:fam obj) (vector-ref obj 0))
80(define (sockaddr:path obj) (vector-ref obj 1))
81(define (sockaddr:addr obj) (vector-ref obj 1))
82(define (sockaddr:port obj) (vector-ref obj 2))
8acfc848
KR
83(define (sockaddr:flowinfo obj) (vector-ref obj 3))
84(define (sockaddr:scopeid obj) (vector-ref obj 4))