Unit blcksock

DescriptionusesClasses, Interfaces, Objects and RecordsFunctions and ProceduresTypesConstantsVariables

Description

 

uses

Overview

Classes, Interfaces, Objects and Records

Name Description
Class ESynapseError Exception clas used by Synapse
Class TSynaOption this object is used for remember delayed socket option set.
Class TBlockSocket Basic IP object.
Class TSocksBlockSocket Support for SOCKS4 and SOCKS5 proxy
Class TTCPBlockSocket Implementation of TCP socket.
Class TDgramBlockSocket Datagram based communication
Class TUDPBlockSocket Implementation of UDP socket.
Class TICMPBlockSocket Implementation of RAW ICMP socket.
Class TRAWBlockSocket Implementation of RAW socket.
Class TPGMMessageBlockSocket Implementation of PGM-message socket.
Class TPGMStreamBlockSocket Implementation of PGM-stream socket.
Class TCustomSSL Parent class for all SSL plugins.
Class TSSLNone Default SSL plugin with no SSL support.
record TIPHeader Record with definition of IP packet header.
Class TSynaClient Parent class of application protocol implementations.

Types

THookSocketReason = (...);
THookSocketStatus = procedure(Sender: TObject; Reason: THookSocketReason; const Value: String) of object;
THookDataFilter = procedure(Sender: TObject; var Value: AnsiString) of object;
THookCreateSocket = procedure(Sender: TObject) of object;
THookMonitor = procedure(Sender: TObject; Writing: Boolean; const Buffer: TMemory; Len: Integer) of object;
THookAfterConnect = procedure(Sender: TObject) of object;
THookVerifyCert = function(Sender: TObject):boolean of object;
THookHeartbeat = procedure(Sender: TObject) of object;
TSocketFamily = (...);
TSocksType = (...);
TSSLType = (...);
TSynaOptionType = (...);
TSSLClass = class of TCustomSSL;

Constants

SynapseRelease = '38';
cLocalhost = '127.0.0.1';
cAnyHost = '0.0.0.0';
cBroadcast = '255.255.255.255';
c6Localhost = '::1';
c6AnyHost = '::0';
c6Broadcast = 'ffff::1';
cAnyPort = '0';
CR = #$0d;
LF = #$0a;
CRLF = CR + LF;
c64k = 65536;

Variables

SSLImplementation: TSSLClass = TSSLNone;

Description

Types

THookSocketReason = (...);

Types of OnStatus events

THookSocketStatus = procedure(Sender: TObject; Reason: THookSocketReason; const Value: String) of object;

Procedural type for OnStatus event. Sender is calling TBlockSocket object, Reason is one of set Status events and value is optional data.

THookDataFilter = procedure(Sender: TObject; var Value: AnsiString) of object;

This procedural type is used for DataFilter hooks.

THookCreateSocket = procedure(Sender: TObject) of object;

This procedural type is used for hook OnCreateSocket. By this hook you can insert your code after initialisation of socket. (you can set special socket options, etc.)

THookMonitor = procedure(Sender: TObject; Writing: Boolean; const Buffer: TMemory; Len: Integer) of object;

This procedural type is used for monitoring of communication.

THookAfterConnect = procedure(Sender: TObject) of object;

This procedural type is used for hook OnAfterConnect. By this hook you can insert your code after TCP socket has been sucessfully connected.

THookVerifyCert = function(Sender: TObject):boolean of object;

This procedural type is used for hook OnVerifyCert. By this hook you can insert your additional certificate verification code. Usefull to verify server CN against URL.

THookHeartbeat = procedure(Sender: TObject) of object;

This procedural type is used for hook OnHeartbeat. By this hook you can call your code repeately during long socket operations. You must enable heartbeats by HeartbeatRate property!

TSocketFamily = (...);

Specify family of socket.

TSocksType = (...);

specify possible values of SOCKS modes.

TSSLType = (...);

Specify requested SSL/TLS version for secure connection.

TSynaOptionType = (...);

Specify type of socket delayed option.

TSSLClass = class of TCustomSSL;
 

Constants

SynapseRelease = '38';
 
cLocalhost = '127.0.0.1';
 
cAnyHost = '0.0.0.0';
 
cBroadcast = '255.255.255.255';
 
c6Localhost = '::1';
 
c6AnyHost = '::0';
 
c6Broadcast = 'ffff::1';
 
cAnyPort = '0';
 
CR = #$0d;
 
LF = #$0a;
 
CRLF = CR + LF;
 
c64k = 65536;
 

Variables

SSLImplementation: TSSLClass = TSSLNone;

Selected SSL plugin. Default is TSSLNone.

Do not change this value directly!!!

Just add your plugin unit to your project uses instead. Each plugin unit have initialization code what modify this variable.


Generated by PasDoc 0.9.0 on 2012-04-23 21:38:56