/*
Copyright (c) 1993 Xerox Corporation. All rights reserved.
*/
/*
$Id$
$Date$
*/
/*
* PCR socket support.
*
* Host Dependent.
*/
#ifndef ←←PCR←IOSocket←h
#define ←←PCR←IOSocket←h 1
#include <config/PCR←StdTypes.h>
#include <config/PCR←OS.h>
#include <th/PCR←ThTypes.h>
#if (PCR←OS←SOCKET)
# include <host/sys/types.h>
# include <host/sys/socket.h>
# include <host/sys/sockio.h>
# include <host/netinet/in.h>
# include <host/netinet/tcp.h>
# define PCR←IOSocket←IMPL 1
#else
# define PCR←IOSocket←IMPL 0
#endif
#if (PCR←IOSocket←IMPL)
extern PCR←ERes
PCR←IOSocket←Accept(
int s,
struct sockaddr *addr,
int *addrLen,
const PCR←sigset←t *sigMask,
PCR←Msec wakeup
);
extern PCR←ERes
PCR←IOSocket←Bind(
int s,
struct sockaddr *name,
int nameLen,
const PCR←sigset←t *sigMask,
PCR←Msec wakeup
);
extern PCR←ERes
PCR←IOSocket←Connect(
int s,
struct sockaddr *name,
int nameLen,
const PCR←sigset←t *sigMask,
PCR←Msec wakeup
);
extern PCR←ERes
PCR←IOSocket←GetPeerName(
int s,
struct sockaddr *name,
int *nameLen,
const PCR←sigset←t *sigMask,
PCR←Msec wakeup
);
extern PCR←ERes
PCR←IOSocket←GetName(
int s,
struct sockaddr *name,
int *nameLen,
const PCR←sigset←t *sigMask,
PCR←Msec wakeup
);
extern PCR←ERes
PCR←IOSocket←GetOpt(
int s,
int level,
int optName,
char *optVal,
int *optLen,
const PCR←sigset←t *sigMask,
PCR←Msec wakeup
);
extern PCR←ERes
PCR←IOSocket←Listen(
int s,
int backlog,
const PCR←sigset←t *sigMask,
PCR←Msec wakeup
);
extern PCR←ERes
PCR←IOSocket←Recv(
int s,
char *buf,
int len,
int flags,
const PCR←sigset←t *sigMask,
PCR←Msec wakeup
);
extern PCR←ERes
PCR←IOSocket←RecvFrom(
int s,
char *buf,
int len,
int flags,
struct sockaddr *from,
int *fromLen,
const PCR←sigset←t *sigMask,
PCR←Msec wakeup
);
extern PCR←ERes
PCR←IOSocket←RecvMsg(
int s,
struct msghdr *msg,
int flags,
const PCR←sigset←t *sigMask,
PCR←Msec wakeup
);
extern PCR←ERes
PCR←IOSocket←Send(
int s,
char *msg,
int len,
int flags,
const PCR←sigset←t *sigMask,
PCR←Msec wakeup
);
extern PCR←ERes
PCR←IOSocket←SendTo(
int s,
char *msg,
int len,
int flags,
struct sockaddr *to,
int toLen,
const PCR←sigset←t *sigMask,
PCR←Msec wakeup
);
extern PCR←ERes
PCR←IOSocket←SendMsg(
int s,
struct msghdr *msg,
int flags,
const PCR←sigset←t *sigMask,
PCR←Msec wakeup
);
extern PCR←ERes
PCR←IOSocket←SetOpt(
int s,
int level,
int optName,
char *optVal,
int optLen,
const PCR←sigset←t *sigMask,
PCR←Msec wakeup
);
extern PCR←ERes
PCR←IOSocket←Shutdown(
int s,
int how,
const PCR←sigset←t *sigMask,
PCR←Msec wakeup
);
extern PCR←ERes
PCR←IOSocket←Create(
int domain,
int type,
int protocol,
const PCR←sigset←t *sigMask,
PCR←Msec wakeup
);
extern PCR←ERes
PCR←IOSocket←CreatePair(
int domain,
int type,
int protocol,
int sv[2],
const PCR←sigset←t *sigMask,
PCR←Msec wakeup
);
#elif defined(PCR←NO←HOSTDEP←ERR)
/* ... */
#else
# error sockets unimplemented for this host / os
#endif
#endif /* !←←PCR←IOSocket←h */
/*
$Log$
*/