/*
 *  This file is part of ixemul.library for the Amiga.
 *  Copyright (C) 1995 Jeff Shepherd
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Library General Public
 *  License as published by the Free Software Foundation; either
 *  version 2 of the License, or (at your option) any later version.
 *
 *  This library is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  Library General Public License for more details.
 *
 *  You should have received a copy of the GNU Library General Public
 *  License along with this library; if not, write to the Free
 *  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#include <exec/ports.h>
#include <limits.h>
struct unix_socket {
    struct MsgPort *connport; /* port to accept connections */
    struct MsgPort *recvport; /* receive data port */
    struct MsgPort *sendport; /* send data port */
    struct MsgPort *replyport; /* port to get receipts of writes */
    struct MsgPort *listenport; /* only set if socket was created with accept() */

    int so_options;	      /* options (set by ioctl()) */
    int ss_options;	      /* other options */

    char *readbuf;	      /* read buffer */
    int readptr;	      /* pointer into read buffer */
    int readbuflen;	      /* buffer length */

    int protocol;	      /* from socket() */
    int type;		      /* from socket() */
};

struct ConnectMsg {
    struct Message msg;
    struct MsgPort *dataport; /* msgport on the other side */
};

struct DataMsg {
    struct Message msg;
    char *data;
    int length;
};

#define PORTNAME "ixport%d" /* sprintf() string for port name */
#define MAX_PORTS (UINT_MAX)

