Inline helpers into slot-ref, slot-set!, etc
[bpt/guile.git] / module / ice-9 / networking.scm
CommitLineData
52cfc69b
GH
1;;; installed-scm-file
2
55ae00ea 3;;;; Copyright (C) 1999, 2005, 2006, 2010 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
53befeb7 8;;;; version 3 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
9c35c579
AW
20(eval-when (compile)
21 (set-current-module (resolve-module '(guile))))
22
52cfc69b
GH
23(define (gethostbyaddr addr) (gethost addr))
24(define (gethostbyname name) (gethost name))
25
26(define (getnetbyaddr addr) (getnet addr))
27(define (getnetbyname name) (getnet name))
28
29(define (getprotobyname name) (getproto name))
30(define (getprotobynumber addr) (getproto addr))
31
32(define (getservbyname name proto) (getserv name proto))
33(define (getservbyport port proto) (getserv port proto))
34
5c11cc9d
GH
35(define (sethostent . stayopen)
36 (if (pair? stayopen)
37 (sethost (car stayopen))
38 (sethost #f)))
39(define (setnetent . stayopen)
40 (if (pair? stayopen)
41 (setnet (car stayopen))
42 (setnet #f)))
43(define (setprotoent . stayopen)
44 (if (pair? stayopen)
45 (setproto (car stayopen))
46 (setproto #f)))
47(define (setservent . stayopen)
48 (if (pair? stayopen)
49 (setserv (car stayopen))
50 (setserv #f)))
52cfc69b
GH
51
52(define (gethostent) (gethost))
53(define (getnetent) (getnet))
54(define (getprotoent) (getproto))
55(define (getservent) (getserv))
56
57(define (endhostent) (sethost))
58(define (endnetent) (setnet))
59(define (endprotoent) (setproto))
60(define (endservent) (setserv))
61
62(define (hostent:name obj) (vector-ref obj 0))
63(define (hostent:aliases obj) (vector-ref obj 1))
64(define (hostent:addrtype obj) (vector-ref obj 2))
65(define (hostent:length obj) (vector-ref obj 3))
66(define (hostent:addr-list obj) (vector-ref obj 4))
67
68(define (netent:name obj) (vector-ref obj 0))
69(define (netent:aliases obj) (vector-ref obj 1))
70(define (netent:addrtype obj) (vector-ref obj 2))
71(define (netent:net obj) (vector-ref obj 3))
72
73(define (protoent:name obj) (vector-ref obj 0))
74(define (protoent:aliases obj) (vector-ref obj 1))
75(define (protoent:proto obj) (vector-ref obj 2))
76
77(define (servent:name obj) (vector-ref obj 0))
78(define (servent:aliases obj) (vector-ref obj 1))
79(define (servent:port obj) (vector-ref obj 2))
80(define (servent:proto obj) (vector-ref obj 3))
81
82(define (sockaddr:fam obj) (vector-ref obj 0))
83(define (sockaddr:path obj) (vector-ref obj 1))
84(define (sockaddr:addr obj) (vector-ref obj 1))
85(define (sockaddr:port obj) (vector-ref obj 2))
8acfc848
KR
86(define (sockaddr:flowinfo obj) (vector-ref obj 3))
87(define (sockaddr:scopeid obj) (vector-ref obj 4))
55ae00ea
LC
88
89(define (addrinfo:flags obj) (vector-ref obj 0))
90(define (addrinfo:fam obj) (vector-ref obj 1))
91(define (addrinfo:socktype obj) (vector-ref obj 2))
92(define (addrinfo:protocol obj) (vector-ref obj 3))
93(define (addrinfo:addr obj) (vector-ref obj 4))
94(define (addrinfo:canonname obj) (vector-ref obj 5))