* Sebastian Hammer, Adam Dickmeiss
*
* $Log: xmosi.c,v $
- * Revision 1.2 1995-06-15 12:30:07 quinn
+ * Revision 1.7 1995-10-30 12:41:17 quinn
+ * Added hostname lookup for server.
+ *
+ * Revision 1.6 1995/09/29 17:12:00 quinn
+ * Smallish
+ *
+ * Revision 1.5 1995/09/28 10:24:32 quinn
+ * Windows changes
+ *
+ * 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
int mosi_bind(COMSTACK h, void *address, int mode);
int mosi_listen(COMSTACK h, char *addrp, int *addrlen);
COMSTACK mosi_accept(COMSTACK h);
+char *mosi_addrstr(COMSTACK h);
typedef struct mosi_state
{
r->f_bind = mosi_bind;
r->f_listen = mosi_listen;
r->f_accept = mosi_accept;
+ r->f_addrstr = mosi_addrstr;
if (!blocking)
flags |= O_NONBLOCK;
* 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 netbuf MDF *mosi_strtoaddr(const char *str)
{
struct netbuf *ret = malloc(sizeof(struct netbuf));
struct sockaddr_in *add = malloc(sizeof(struct sockaddr_in));
{
int res;
struct t_bind bnd;
+ int one = 1;
+ if (setsockopt(h->iofile, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)) < 0)
+ {
+ h->cerrno = CSYSERR;
+ return -1;
+ }
if (mode == CS_SERVER)
bnd.qlen = 3;
else
if (h->state != CS_INCON)
{
- h->errno = CSOUTSTATE;
+ h->cerrno = CSOUTSTATE;
return 0;
}
if (!(new = malloc(sizeof(*new))))
free(h);
return 0;
}
+
+char *mosi_addrstr(COMSTACK h)
+{
+ return "osi:[UNIMPLEMENTED";
+}