# kdecore Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Source Files

# KSocks Class Reference

This class provides you with an interface to a SOCKS Proxy server. Access to a SOCKS Proxy. More...

`#include <ksocks.h>`

Collaboration diagram for KSocks:

[legend]
List of all members.

## Public Member Functions

void | disableSocks ()
| Disable the use of SOCKS immediately.
void | enableSocks ()
| Enable the use of SOCKS immediately if hasSocks() is true.
bool | usingSocks ()
| Checks whether SOCKS is currently being used.
bool | hasSocks ()
| Checks whether SOCKS is available for use.
bool | hasWorkingAsyncConnect ()
| Returns whether asynchronous connects work with the selected SOCKS impementation.
int | connect (int sockfd, const sockaddr *serv_addr, ksocklen_t addrlen)
| This is the re-implementation of libc's function of the same name.
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.
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.
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.
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.
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.
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.
int | getsockname (int s, sockaddr *name, ksocklen_t *namelen)
| This is the re-implementation of libc's function of the same name.
int | getpeername (int s, sockaddr *name, ksocklen_t *namelen)
| This is the re-implementation of libc's function of the same name.
int | accept (int s, sockaddr *addr, ksocklen_t *addrlen)
| This is the re-implementation of libc's function of the same name.
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.
int | listen (int s, int backlog)
| This is the re-implementation of libc's function of the same name.
int | bind (int sockfd, sockaddr *my_addr, ksocklen_t addrlen)
| This is the re-implementation of libc's function of the same name.
void | die ()
| If you're using this, you're probably doing something wrong.

## Static Public Member Functions

KSocks * | self ()
| Return an instance of class KSocks *.
bool | activated ()
| Checks whether KSocks has been started (ie someone called self()).
void | disable ()
| Set this before the first call to KSocks::self() and it will fail to initialize SOCKS.
void | setConfig (KConfigBase *config)
| Set this before the first call to KSocks::self() and it will use `config` to read its configuration from.

## Friends

class | KStaticDeleter< KSocks >

## Detailed Description

This class provides you with an interface to a SOCKS Proxy server. Access to a SOCKS Proxy.

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().

Definition at line 44 of file ksocks.h.

## Member Function Documentation

KSocks * KSocks::self | ( |  | ) | `[static]`

Return an instance of class KSocks *.

You cannot delete this object. It is a singleton class.

Returns:
  the KSock instance

Definition at line 207 of file ksocks.cpp.

Referenced by KExtendedSocket::accept(), KExtendedSocket::connect(), KExtendedSocket::flush(), KSocket::KSocket(), KExtendedSocket::listen(), KExtendedSocket::localAddress(), KExtendedSocket::peerAddress(), KExtendedSocket::readBlock(), KExtendedSocket::waitForMore(), and KExtendedSocket::writeBlock().

bool KSocks::activated | ( |  | ) | `[static]`

Checks whether KSocks has been started (ie someone called self()).

Returns:
  true if activated

Definition at line 234 of file ksocks.cpp.

void KSocks::disableSocks | ( |  | ) |

| Disable the use of SOCKS immediately. Definition at line 447 of file ksocks.cpp.

void KSocks::enableSocks | ( |  | ) |

| Enable the use of SOCKS immediately if hasSocks() is true. Definition at line 452 of file ksocks.cpp.

bool KSocks::usingSocks | ( |  | ) |

Checks whether SOCKS is currently being used.

Returns:
  true if SOCKS is currently being used.

Definition at line 437 of file ksocks.cpp.

bool KSocks::hasSocks | ( |  | ) |

Checks whether SOCKS is available for use.

Returns:
  true if SOCKS is available for use.

Definition at line 442 of file ksocks.cpp.

bool KSocks::hasWorkingAsyncConnect | ( |  | ) |

| Returns whether asynchronous connects work with the selected SOCKS impementation. Definition at line 457 of file ksocks.cpp. Referenced by KExtendedSocket::connect().

int KSocks::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. Definition at line 468 of file ksocks.cpp. Referenced by KExtendedSocket::connect().

signed long int KSocks::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. Definition at line 476 of file ksocks.cpp. Referenced by KExtendedSocket::readBlock().

signed long int KSocks::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. Definition at line 483 of file ksocks.cpp. Referenced by KExtendedSocket::flush(), and KExtendedSocket::writeBlock().

int KSocks::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. Definition at line 490 of file ksocks.cpp.

int KSocks::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. Definition at line 503 of file ksocks.cpp.

int KSocks::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. Definition at line 511 of file ksocks.cpp.

int KSocks::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. Definition at line 518 of file ksocks.cpp.

int KSocks::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. Definition at line 525 of file ksocks.cpp. References KStdAction::name(). Referenced by KSocket::KSocket(), and KExtendedSocket::localAddress().

int KSocks::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. Definition at line 537 of file ksocks.cpp. References KStdAction::name(). Referenced by KExtendedSocket::peerAddress().

int KSocks::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. Definition at line 549 of file ksocks.cpp. Referenced by KExtendedSocket::accept().

int KSocks::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. Definition at line 561 of file ksocks.cpp. Referenced by KExtendedSocket::accept(), KExtendedSocket::connect(), and KExtendedSocket::waitForMore().

int KSocks::listen | ( | int | s,
|  | int | backlog
| ) |

| This is the re-implementation of libc's function of the same name. Read the appropriate man page. Definition at line 569 of file ksocks.cpp. Referenced by KExtendedSocket::listen().

int KSocks::bind | ( | int | sockfd,
|  | sockaddr * | my_addr,
|  | ksocklen_t | addrlen
| ) |

| This is the re-implementation of libc's function of the same name. Read the appropriate man page. Definition at line 576 of file ksocks.cpp. Referenced by KExtendedSocket::connect(), and KExtendedSocket::listen().

void KSocks::die | ( |  | ) |

| If you're using this, you're probably doing something wrong. Please don't use it. Definition at line 414 of file ksocks.cpp.

void KSocks::disable | ( |  | ) | `[static]`

| Set this before the first call to KSocks::self() and it will fail to initialize SOCKS. Definition at line 201 of file ksocks.cpp.

void KSocks::setConfig | ( | KConfigBase * | config | ) | `[static]`

| Set this before the first call to KSocks::self() and it will use `config` to read its configuration from. Definition at line 221 of file ksocks.cpp.

The documentation for this class was generated from the following files:

- ksocks.h
- ksocks.cpp

This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 12:51:37 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001