summaryrefslogtreecommitdiffstats
path: root/kdecore/ksocks.h
diff options
context:
space:
mode:
Diffstat (limited to 'kdecore/ksocks.h')
-rw-r--r--kdecore/ksocks.h210
1 files changed, 0 insertions, 210 deletions
diff --git a/kdecore/ksocks.h b/kdecore/ksocks.h
deleted file mode 100644
index a95de56d4..000000000
--- a/kdecore/ksocks.h
+++ /dev/null
@@ -1,210 +0,0 @@
-/* This file is part of the KDE libraries
- Copyright (C) 2001 George Staikos <staikos@kde.org>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License version 2 as published by the Free Software Foundation.
-
- 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; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-#ifndef _KSOCKS_H_
-#define _KSOCKS_H_
-
-#include <tqstringlist.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <kstaticdeleter.h>
-#include <kdelibs_export.h>
-
-#ifdef Q_OS_UNIX
-
-class KSocksTable;
-class KSocksPrivate;
-class KLibrary;
-class KConfigBase;
-struct sockaddr;
-
-typedef unsigned ksocklen_t;
-
-
-/**
- * This class provides you with an interface to a
- * <a href="http://www.socks.nec.com/">SOCKS</a> Proxy server. A SOCKS server
- * is able to provide full internet access behind a firewall.
- * KSocks is a singleton; there can only be one instance at any
- * given time. To obtain a reference to that instance, use
- * self().
- *
- * @short Access to a SOCKS Proxy.
- */
-class KDECORE_EXPORT KSocks {
- friend class KStaticDeleter<KSocks>;
-
-public:
-
- /**
- * Return an instance of class KSocks *.
- * You cannot delete this object. It is a singleton class.
- * @return the KSock instance
- */
- static KSocks *self();
-
- /**
- * Checks whether KSocks has been started (ie someone called self())
- * @return true if activated
- */
- static bool activated();
-
- /**
- * Disable the use of SOCKS immediately
- */
- void disableSocks();
-
- /**
- * Enable the use of SOCKS immediately if hasSocks() is true.
- */
- void enableSocks();
-
- /**
- * Checks whether SOCKS is currently being used.
- * @return true if SOCKS is currently being used.
- */
- bool usingSocks();
-
- /**
- * Checks whether SOCKS is available for use.
- * @return true if SOCKS is available for use.
- */
- bool hasSocks();
-
- /**
- * Returns whether asynchronous connects work with the
- * selected SOCKS impementation
- */
- bool hasWorkingAsyncConnect();
-
- /*
- ** REIMPLEMENTATIONS OF LIBC SOCKET FUNCTIONS
- **/
- /**
- * This is the re-implementation of libc's function of the same
- * name. Read the appropriate man page.
- */
- int connect (int sockfd, const sockaddr *serv_addr,
- ksocklen_t addrlen);
- /**
- * This is the re-implementation of libc's function of the same
- * name. Read the appropriate man page.
- */
- signed long int read (int fd, void *buf, unsigned long int count);
- /**
- * This is the re-implementation of libc's function of the same
- * name. Read the appropriate man page.
- */
- signed long int write (int fd, const void *buf, unsigned long int count);
- /**
- * This is the re-implementation of libc's function of the same
- * name. Read the appropriate man page.
- */
- int recvfrom (int s, void *buf, unsigned long int len, int flags,
- sockaddr *from, ksocklen_t *fromlen);
- /**
- * This is the re-implementation of libc's function of the same
- * name. Read the appropriate man page.
- */
- int sendto (int s, const void *msg, unsigned long int len, int flags,
- const sockaddr *to, ksocklen_t tolen);
- /**
- * This is the re-implementation of libc's function of the same
- * name. Read the appropriate man page.
- */
- int recv (int s, void *buf, unsigned long int len, int flags);
- /**
- * This is the re-implementation of libc's function of the same
- * name. Read the appropriate man page.
- */
- int send (int s, const void *msg, unsigned long int len, int flags);
- /**
- * This is the re-implementation of libc's function of the same
- * name. Read the appropriate man page.
- */
- int getsockname (int s, sockaddr *name, ksocklen_t *namelen);
- /**
- * This is the re-implementation of libc's function of the same
- * name. Read the appropriate man page.
- */
- int getpeername (int s, sockaddr *name, ksocklen_t *namelen);
- /**
- * This is the re-implementation of libc's function of the same
- * name. Read the appropriate man page.
- */
- int accept (int s, sockaddr *addr, ksocklen_t *addrlen);
- /**
- * This is the re-implementation of libc's function of the same
- * name. Read the appropriate man page.
- */
- int select (int n, fd_set *readfds, fd_set *writefds,
- fd_set *exceptfds, struct timeval *timeout);
- /**
- * This is the re-implementation of libc's function of the same
- * name. Read the appropriate man page.
- */
- int listen (int s, int backlog);
-
- /**
- * This is the re-implementation of libc's function of the same
- * name. Read the appropriate man page.
- */
- int bind (int sockfd, sockaddr *my_addr,
- ksocklen_t addrlen);
- int bind (int sockfd, const sockaddr *my_addr,
- ksocklen_t addrlen);
-
- /**
- * If you're using this, you're probably doing something wrong.
- * Please don't use it.
- * @internal
- */
- void die();
-
- /**
- * Set this before the first call to KSocks::self() and it will fail
- * to initialize SOCKS.
- */
- static void disable();
-
- /**
- * Set this before the first call to KSocks::self() and it will use
- * @p config to read its configuration from.
- */
- static void setConfig(KConfigBase *config);
-
-private:
- KSocks(KConfigBase *config);
- ~KSocks();
-
- void stopSocks();
-
- static KSocks *_me;
- static bool _disabled;
- TQStringList _libNames;
- TQStringList _libPaths;
- bool _useSocks, _hasSocks;
- KLibrary* _socksLib;
-
-
- KSocksTable *_st;
- KSocksPrivate *d;
-};
-
-#endif //Q_OS_UNIX
-
-#endif //_KSOCKS_H_