Mercurial > hg > xemacs-beta
comparison lib-src/gnuslib.c @ 440:8de8e3f6228a r21-2-28
Import from CVS: tag r21-2-28
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:33:38 +0200 |
parents | 3ecd8885ac67 |
children | abe6d1db359e |
comparison
equal
deleted
inserted
replaced
439:357dd071b03c | 440:8de8e3f6228a |
---|---|
74 | 74 |
75 char *tmpdir = NULL; | 75 char *tmpdir = NULL; |
76 | 76 |
77 char *progname = NULL; | 77 char *progname = NULL; |
78 | 78 |
79 int make_connection(hostarg, portarg, s) | 79 int |
80 char *hostarg; | 80 make_connection (char *hostarg, int portarg, int *s) |
81 int portarg; | |
82 int *s; | |
83 { | 81 { |
84 #ifdef INTERNET_DOMAIN_SOCKETS | 82 #ifdef INTERNET_DOMAIN_SOCKETS |
85 char *ptr; | 83 char *ptr; |
86 if (hostarg == NULL) | 84 if (hostarg == NULL) |
87 hostarg = getenv("GNU_HOST"); | 85 hostarg = getenv("GNU_HOST"); |
128 #ifdef SYSV_IPC | 126 #ifdef SYSV_IPC |
129 /* | 127 /* |
130 connect_to_ipc_server -- establish connection with server process via SYSV IPC | 128 connect_to_ipc_server -- establish connection with server process via SYSV IPC |
131 Returns msqid for server if successful. | 129 Returns msqid for server if successful. |
132 */ | 130 */ |
133 static int connect_to_ipc_server (void) | 131 static int |
132 connect_to_ipc_server (void) | |
134 { | 133 { |
135 int s; /* connected msqid */ | 134 int s; /* connected msqid */ |
136 key_t key; /* message key */ | 135 key_t key; /* message key */ |
137 char buf[GSERV_BUFSZ+1]; /* buffer for filename */ | 136 char buf[GSERV_BUFSZ+1]; /* buffer for filename */ |
138 | 137 |
158 | 157 |
159 /* | 158 /* |
160 disconnect_from_ipc_server -- inform the server that sending has finished, | 159 disconnect_from_ipc_server -- inform the server that sending has finished, |
161 and wait for its reply. | 160 and wait for its reply. |
162 */ | 161 */ |
163 void disconnect_from_ipc_server(s,msgp,echo) | 162 void |
164 int s; | 163 disconnect_from_ipc_server (int s, struct msgbuf *msgp, int echo) |
165 struct msgbuf *msgp; | |
166 int echo; | |
167 { | 164 { |
168 int len; /* length of received message */ | 165 int len; /* length of received message */ |
169 | 166 |
170 send_string(s,EOT_STR); /* EOT terminates this message */ | 167 send_string(s,EOT_STR); /* EOT terminates this message */ |
171 msgp->mtype = 1; | 168 msgp->mtype = 1; |
194 | 191 |
195 #if defined(INTERNET_DOMAIN_SOCKETS) || defined(UNIX_DOMAIN_SOCKETS) | 192 #if defined(INTERNET_DOMAIN_SOCKETS) || defined(UNIX_DOMAIN_SOCKETS) |
196 /* | 193 /* |
197 send_string -- send string to socket. | 194 send_string -- send string to socket. |
198 */ | 195 */ |
199 void send_string(s,msg) | 196 void |
200 int s; | 197 send_string (int s, CONST char *msg) |
201 CONST char *msg; | |
202 { | 198 { |
203 #if 0 | 199 #if 0 |
204 if (send(s,msg,strlen(msg),0) < 0) { | 200 if (send(s,msg,strlen(msg),0) < 0) { |
205 perror(progname); | 201 perror(progname); |
206 fprintf(stderr,"%s: unable to send\n",progname); | 202 fprintf(stderr,"%s: unable to send\n",progname); |
225 } /* send_string */ | 221 } /* send_string */ |
226 | 222 |
227 /* | 223 /* |
228 read_line -- read a \n terminated line from a socket | 224 read_line -- read a \n terminated line from a socket |
229 */ | 225 */ |
230 int read_line(int s, char *dest) | 226 int |
227 read_line (int s, char *dest) | |
231 { | 228 { |
232 int length; | 229 int length; |
233 int offset=0; | 230 int offset=0; |
234 char buffer[GSERV_BUFSZ+1]; | 231 char buffer[GSERV_BUFSZ+1]; |
235 | 232 |
250 /* | 247 /* |
251 connect_to_unix_server -- establish connection with server process via a unix- | 248 connect_to_unix_server -- establish connection with server process via a unix- |
252 domain socket. Returns socket descriptor for server | 249 domain socket. Returns socket descriptor for server |
253 if successful. | 250 if successful. |
254 */ | 251 */ |
255 static int connect_to_unix_server (void) | 252 static int |
253 connect_to_unix_server (void) | |
256 { | 254 { |
257 int s; /* connected socket descriptor */ | 255 int s; /* connected socket descriptor */ |
258 struct sockaddr_un server; /* for unix connections */ | 256 struct sockaddr_un server; /* for unix connections */ |
259 | 257 |
260 if ((s = socket(AF_UNIX,SOCK_STREAM,0)) < 0) { | 258 if ((s = socket(AF_UNIX,SOCK_STREAM,0)) < 0) { |
284 #ifdef INTERNET_DOMAIN_SOCKETS | 282 #ifdef INTERNET_DOMAIN_SOCKETS |
285 /* | 283 /* |
286 internet_addr -- return the internet addr of the hostname or | 284 internet_addr -- return the internet addr of the hostname or |
287 internet address passed. Return -1 on error. | 285 internet address passed. Return -1 on error. |
288 */ | 286 */ |
289 int internet_addr(host) | 287 int |
290 char *host; | 288 internet_addr (char *host) |
291 { | 289 { |
292 struct hostent *hp; /* pointer to host info for remote host */ | 290 struct hostent *hp; /* pointer to host info for remote host */ |
293 IN_ADDR numeric_addr; /* host address */ | 291 IN_ADDR numeric_addr; /* host address */ |
294 | 292 |
295 numeric_addr = inet_addr(host); | 293 numeric_addr = inet_addr(host); |
312 /* | 310 /* |
313 connect_to_internet_server -- establish connection with server process via | 311 connect_to_internet_server -- establish connection with server process via |
314 an internet domain socket. Returns socket | 312 an internet domain socket. Returns socket |
315 descriptor for server if successful. | 313 descriptor for server if successful. |
316 */ | 314 */ |
317 static int connect_to_internet_server (char *serverhost, u_short port) | 315 static int |
316 connect_to_internet_server (char *serverhost, u_short port) | |
318 { | 317 { |
319 int s; /* connected socket descriptor */ | 318 int s; /* connected socket descriptor */ |
320 struct servent *sp; /* pointer to service information */ | 319 struct servent *sp; /* pointer to service information */ |
321 struct sockaddr_in peeraddr_in; /* for peer socket address */ | 320 struct sockaddr_in peeraddr_in; /* for peer socket address */ |
322 char buf[512]; /* temporary buffer */ | 321 char buf[512]; /* temporary buffer */ |
393 #if defined(INTERNET_DOMAIN_SOCKETS) || defined(UNIX_DOMAIN_SOCKETS) | 392 #if defined(INTERNET_DOMAIN_SOCKETS) || defined(UNIX_DOMAIN_SOCKETS) |
394 /* | 393 /* |
395 disconnect_from_server -- inform the server that sending has finished, and wait for | 394 disconnect_from_server -- inform the server that sending has finished, and wait for |
396 its reply. | 395 its reply. |
397 */ | 396 */ |
398 void disconnect_from_server(s,echo) | 397 void |
399 int s; | 398 disconnect_from_server (int s, int echo) |
400 int echo; | |
401 { | 399 { |
402 #if 0 | 400 #if 0 |
403 char buffer[REPLYSIZ+1]; | 401 char buffer[REPLYSIZ+1]; |
404 #else | 402 #else |
405 char buffer[GSERV_BUFSZ+1]; | 403 char buffer[GSERV_BUFSZ+1]; |