kekonline::Socket Class Reference

BSD socket library wrapper. More...

#include <kolsocket.h>

List of all members.

Public Member Functions

 Socket ()
 Socket (const Socket &from)
 Socket (int domain, int type, int protocol=0)
virtual ~Socket ()
Socketoperator= (const Socket &from)
int close ()
int create (int domain, int type, int protocol=0)
int connect (const struct sockaddr *addr, socklen_t len)
int bind (const struct sockaddr *addr, socklen_t len)
int listen (int backlog)
Socket accept (struct sockaddr *addr=0, socklen_t *addrlen=0)
int send (const void *buf, size_t len, int flags=0)
int recv (void *buf, size_t len, int flags=0)
int sendto (const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen)
int recvfrom (void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen)
int shutdown (int how=SHUT_RDWR)
int getsockname (struct sockaddr *name, socklen_t *namelen) const
int getpeername (struct sockaddr *name, socklen_t *namelen) const
int getsockopt (int level, int optname, void *optval, socklen_t *optlen) const
int setsockopt (int level, int optname, const void *optval, socklen_t optlen)
int ioctl (int request, void *argp)

Static Public Attributes

static const socket_t invalid = -1
static const int sockerr = -1

Protected Member Functions

 Socket (socket_t sd)

Protected Attributes

socket_t m_sd


Detailed Description

BSD socket library wrapper.

This is a wrapper class for BSD socket library. The main purpose of this class is to hide the socket descriptor. Socket descriptor is automatically closed when desctructed. The descritor is copied by using duplicate system call (i.e., dup() for Linux, DuplicateHandle() for Windows) when necessary.

No exception is thrown from this class. A member function bad() can be used to check the validity of the socket descriptor.

Author:
Hirofumi Fujii (KEK online-electronics group) (c)2006


Constructor & Destructor Documentation

Socket::Socket (  ) 

Socket::Socket ( const Socket from  ) 

Socket::Socket ( int  domain,
int  type,
int  protocol = 0 
)

Socket::~Socket (  )  [virtual]

Socket::Socket ( socket_t  sd  )  [protected]


Member Function Documentation

Socket Socket::accept ( struct sockaddr *  addr = 0,
socklen_t *  addrlen = 0 
)

int Socket::bind ( const struct sockaddr *  addr,
socklen_t  len 
)

int Socket::close (  ) 

int Socket::connect ( const struct sockaddr *  addr,
socklen_t  len 
)

int Socket::create ( int  domain,
int  type,
int  protocol = 0 
)

int Socket::getpeername ( struct sockaddr *  name,
socklen_t *  namelen 
) const

int Socket::getsockname ( struct sockaddr *  name,
socklen_t *  namelen 
) const

int Socket::getsockopt ( int  level,
int  optname,
void *  optval,
socklen_t *  optlen 
) const

int Socket::ioctl ( int  request,
void *  argp 
)

int Socket::listen ( int  backlog  ) 

Socket & Socket::operator= ( const Socket from  ) 

int Socket::recv ( void *  buf,
size_t  len,
int  flags = 0 
)

int Socket::recvfrom ( void *  buf,
size_t  len,
int  flags,
struct sockaddr *  from,
socklen_t *  fromlen 
)

int Socket::send ( const void *  buf,
size_t  len,
int  flags = 0 
)

int Socket::sendto ( const void *  buf,
size_t  len,
int  flags,
const struct sockaddr *  to,
socklen_t  tolen 
)

int Socket::setsockopt ( int  level,
int  optname,
const void *  optval,
socklen_t  optlen 
)

int Socket::shutdown ( int  how = SHUT_RDWR  ) 


Member Data Documentation

const socket_t kekonline::Socket::invalid = -1 [static]

socket_t kekonline::Socket::m_sd [protected]

const int kekonline::Socket::sockerr = -1 [static]


The documentation for this class was generated from the following files:
Generated on Thu Aug 24 15:38:13 2006 for KEK online group class library by  doxygen 1.4.6-20060327