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