File: sockfuns.hlp

package info (click to toggle)
slang2 2.3.3-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 11,488 kB
  • sloc: ansic: 101,756; sh: 3,435; makefile: 1,046; pascal: 440
file content (235 lines) | stat: -rw-r--r-- 6,494 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
socket

 SYNOPSIS
  Create a communications socket

 USAGE
  FD_Type socket (domain, type, protocol)

 DESCRIPTION
  The `socket' function creates a communications socket of the
  specified domain, type, and protocol.  Currently supported domains
  include `PF_UNIX' and `PF_INET'.  The various socket types
  may be specified by the symbolic constants

    SOCK_STREAM
    SOCK_DGRAM
    SOCK_SEQPACKET
    SOCK_RAW
    SOCK_RDM

  The `protocol' parameter specifies the protocol to be used.
  Normally only one protocol is support for a particular domain.  For
  such cases, 0 should be passed for the `protocol' parameter.

  If successful, the `socket' function will return a
  file-descriptor that may be used with the `read' and
  `write' function, or passed to other socket related functions.
  Upon error, a `SocketError' exception will be thrown and
  `errno' set accordingly.

  When finished with the socket, it should be passed to the
  `close' function.

 EXAMPLE
  The following example illustrates the creation of a socket for use
  in the internet domain:

     try {
        s = socket (PF_INET, SOCK_STREAM, 0);
     }
     catch SocketError: {
        () = fprintf (stderr, "socket failed: %s", errno_string(errno));
        exit (1);
     }


 SEE ALSO
  accept, bind, connect, listen, setsockopt, getsockopt

--------------------------------------------------------------

connect

 SYNOPSIS
  Make a connection to a socket

 USAGE
  connect (FD_Type s, address-args)

 DESCRIPTION
  The `connect' function may be used to connect a socket `s'
  to the address specified by the address-arguments.  The type and
  number of the address arguments must be consistent with the domain
  of the socket.  For example, if the socket is in the Unix domain
  (PF_UNIX), then a single string giving a filename must be passed as
  the address-argument.  Sockets in the internet domain (PF_INET) take two
  address arguments: a hostname and a port.

  Upon failure, the function may throw a `SocketError' exception and set
  `errno', or throw a `SocketHError' and set `h_error'.
  It should be noted that `SocketHError' is a subclass of
  `SocketError'.

 EXAMPLE
  The following example creates an internet domain socket and connects
  it to port 32100 of a specified host:

     try {
        s = socket (PF_INET, SOCK_STREAM, 0);
        connect (s, "some.host.com", 32100);
     }
     catch SocketHError: {...}
     catch SocketError: {...}


 SEE ALSO
  accept, bind, listen, socket, setsockopt, getsockopt

--------------------------------------------------------------

bind

 SYNOPSIS
  Bind a local address-name to a socket

 USAGE
  bind (FD_Type s, address-args)

 DESCRIPTION
  The `bind' function may be used to assign a name to a specified
  socket.  The address-args parameters specify the name in a
  domain-specific manner.  For Unix domain sockets, the address is the
  name of a file.  For sockets in the internet domain, the address is
  given by a hostname and port number.

  Upon failure, the function will throw a `SocketError' or
  `SocketHError' exception.

 EXAMPLE
  The following example creates a `PF_UNIX' domain socket and
  binds it to `"/tmp/mysock"':

    s = socket (PF_UNIX, SOCK_STREAM, 0);
    bind (s, "/tmp/mysock");


  The next example creates a `PF_INET' domain socket and binds it
  to port 32000 of the local host `my.host.com':

    s = socket (PF_INET, SOCK_STREAM, 0);
    bind (s, "my.host.com", 32000);


 SEE ALSO
  accept, connect, listen, socket, setsockopt, getsockopt

--------------------------------------------------------------

accept

 SYNOPSIS
  Accept a connection on a socket

 USAGE
  FD_Type accept (FD_Type s [,&address-args...]

 DESCRIPTION
  The `accept' function accepts a connection on the specified
  socket and returns a new socket that may be used to communicate with
  the remote end.  It can optionally return the address of the remote
  end through reference arguments.

  Upon error, `accept' will throw a `SocketError' exception.

 EXAMPLE
  The following example accepts a remote connection on `PF_INET'
  socket and returns the hostname and port used by the connected party:

    s1 = accept (s, &hostip, &port);
    vmessage ("Accepted connection from %s on port %d", hostip, port);


 SEE ALSO
  bind, connect, listen, socket, setsockopt, getsockopt

--------------------------------------------------------------

listen

 SYNOPSIS
  Listen for connections on a socket

 USAGE
  listen (FD_Type s, Int_Type max_pending)

 DESCRIPTION
  The `listen' function may be used to wait for a connection to a
  socket `s'.  The second argument specified the maximum number
  of pending connections to allow before refusing more.  Upon error, a
  `SocketError' exception will be thrown.

 SEE ALSO
  accept, bind, connect, socket, setsockopt, getsockopt

 SEE ALSO

--------------------------------------------------------------

getsockopt

 SYNOPSIS
  Get a socket option

 USAGE
  option = getsockopt (FD_Type s, Int_Type level, Int_Type optname)

 DESCRIPTION
  The `getsockopt' function returns the value of the option
  specified by the integer `optname' residing at the specified
  level.  The actual object returned depends upon the option
  requested.  Upon error, a `SocketError' exception will be
  generated.

 EXAMPLE
  The following example returns the SO_LINGER option of a socket.  In
  this case, the value returned will be a structure:

     s = socket (PF_INET, SOCK_STREAM, 0);
     linger = getsockopt (s, SOL_SOCKET, SO_LINGER);


 SEE ALSO
  accept, bind, connect, listen, socket, getsockopt

--------------------------------------------------------------

setsockopt

 SYNOPSIS
  Set an option on a socket

 USAGE
  setsockopt (FD_Type s, Int_Type level, Int_Type optname, value)

 DESCRIPTION
  The `setsockopt' function sets the value of the option
  specified by the integer `optname' residing at the specified
  level.  The value of the last parameter will vary with the option to
  be set.  Upon error, a `SocketError' exception will be
  generated.

 EXAMPLE
  The following example sets the SO_LINGER option of a socket.  In
  this case, the value is a structure:

     s = socket (PF_INET, SOCK_STREAM, 0);
     linger = struct { l_onoff, l_linger };
     linger.l_onoff = 1; linger.l_linger = 10;
     setsockopt (s, SOL_SOCKET, SO_LINGER, linger);


 SEE ALSO
  accept, bind, connect, listen, socket, getsockopt

--------------------------------------------------------------