* Sebastian Hammer, Adam Dickmeiss
*
* $Log: xmosi.c,v $
- * Revision 1.1 1995-06-14 09:58:20 quinn
+ * Revision 1.4 1995-09-27 15:02:45 quinn
+ * Modified function heads & prototypes.
+ *
+ * Revision 1.3 1995/06/16 10:30:38 quinn
+ * Added REUSEADDR.
+ *
+ * Revision 1.2 1995/06/15 12:30:07 quinn
+ * Added @ as hostname alias for INADDR ANY.
+ *
+ * Revision 1.1 1995/06/14 09:58:20 quinn
* Renamed yazlib to comstack.
*
* Revision 1.15 1995/05/29 08:12:33 quinn
return 0;
}
-COMSTACK mosi_type(int blocking, int protocol)
+COMSTACK MDF mosi_type(int blocking, int protocol)
{
COMSTACK r;
mosi_state *state;
* addressing specific to our hack of OSI transport. A sockaddr_in wrapped
* up in a t_mosiaddr in a netbuf (on a stick).
*/
-struct netbuf *mosi_strtoaddr(const char *str)
+struct MDF netbuf MDF *mosi_strtoaddr(const char *str)
{
struct netbuf *ret = malloc(sizeof(struct netbuf));
struct sockaddr_in *add = malloc(sizeof(struct sockaddr_in));
port = atoi(b + 1);
}
add->sin_port = htons(port);
- if ((hp = gethostbyname(buf)))
+ if (!strcmp("@", buf))
+ add->sin_addr.s_addr = INADDR_ANY;
+ else if ((hp = gethostbyname(buf)))
memcpy(&add->sin_addr.s_addr, *hp->h_addr_list, sizeof(struct in_addr));
else if ((tmpadd = inet_addr(buf)) != 0)
memcpy(&add->sin_addr.s_addr, &tmpadd, sizeof(struct in_addr));
{
int res;
struct t_bind bnd;
+ int one = 1;
+ if (setsockopt(h->iofile, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)) < 0)
+ {
+ h->errno = CSYSERR;
+ return -1;
+ }
if (mode == CS_SERVER)
bnd.qlen = 3;
else