Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

C:/temp/src/j2k/Net/Socket.hpp

Go to the documentation of this file.
00001 // Wolf for J2K Library
00002 // LGPL Licensed.
00003 // http://j2k.sourceforge.net/
00004 // Revision #1: Fred P. - Oct 2nd, 2001
00005 
00006 #ifndef __J2K__NET__SOCKET_HPP__
00007 #define __J2K__NET__SOCKET_HPP__
00008 
00009 //This class implements a generic Socket (defaults to TCP/IP),
00010 //and is used as a base class for specific typs of sockets
00011 
00012 
00013 #include <j2k/Net/include.hpp>
00014 
00015 class Socket {
00016 
00017  public:  
00018    Socket(sockaddr* sa = NULL, int domain = PF_INET, int type = SOCK_STREAM, int protocol = 0) throw(int);
00019    Socket(Socket& original) throw(int);
00020    Socket(int set_socket,      int domain = PF_INET, int type = SOCK_STREAM, int protocol = 0) throw(int);
00021 
00022    int bind(struct sockaddr* sa = NULL);    //if sa is not NULL, it will override local_sa
00023    int connect(struct sockaddr* sa = NULL); //if sa is not NULL, it will override remote_sa
00024    void close();
00025    void shutdownInput();
00026    void shutdownOutput();
00027    void shutdown(int how = 2);
00028   
00029    struct sockaddr* getSockAddr();
00030    struct sockaddr* getLocalSockAddr();
00031    int getSocket();
00032    int getDomain();
00033    int getType();
00034    int getProtocol();
00035    
00036    int setSockOpt(int level, int optname, void* optval, socklen_t optlen);
00037    void* getSockOpt(int level, int optname, void* optval, socklen_t* optlen);
00038 
00039    int read(void * buffer, size_t len, int flags = 0);
00040    int send(void * buffer, size_t len, int flags = 0);
00041    
00042  protected:
00043    int s_domain,s_type,s_protocol;
00044    struct sockaddr *rsa;
00045    struct sockaddr *lsa;
00046    struct sockaddr remote_sa;
00047    struct sockaddr local_sa;
00048    int sck;
00049 };
00050 
00051 #endif // __J2K__NET__SOCKET_HPP__

Generated on Sun Oct 14 18:46:33 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001