mailfilter
0.8.7
src
socket.hh
Go to the documentation of this file.
1
// socket.hh - source file for the mailfilter program
2
// Copyright (c) 2003 - 2009 Andreas Bauer <baueran@gmail.com>
3
//
4
// This program is free software; you can redistribute it and/or modify
5
// it under the terms of the GNU General Public License as published by
6
// the Free Software Foundation; either version 2 of the License, or
7
// (at your option) any later version.
8
//
9
// This program is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
// GNU General Public License for more details.
13
//
14
// You should have received a copy of the GNU General Public License
15
// along with this program; if not, write to the Free Software
16
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
17
// USA.
18
19
#ifndef SOCKET_HH
20
#define SOCKET_HH
21
22
#include <string>
23
#include <csignal>
24
25
#if USE_SSL
26
extern
"C"
27
{
28
#include <openssl/ssl.h>
29
#include <openssl/rand.h>
30
}
31
#endif
32
33
#include "
connection.hh
"
34
35
using namespace
std;
36
37
#ifndef MAX_BYTES
38
#define MAX_BYTES 512
39
#endif
40
41
class
Socket
:
public
Connection
42
{
43
private
:
44
int
sd;
// Socket descriptor.
45
int
time_out;
// Time out.
46
static
void
connect_alarm (
int
);
// Alarm handler.
47
string
* read_buffer;
// Server replies after read ().
48
bool
ssl_used;
// True if SSL encryption is used.
49
bool
use_ssl (
void
)
const
;
50
void
set_ssl (
bool
);
51
52
public
:
53
Socket
(
void
);
54
void
clear (
void
);
55
int
c_open (
const
char
* host,
56
int
port,
57
int
time_out,
58
int
protocol);
59
int
c_close (
void
)
const
;
60
int
c_write (
const
char
* command);
61
int
c_read (
bool
=
false
);
62
const
string
* c_reply (
void
)
const
;
63
};
64
65
#endif
connection.hh
Socket
Definition:
socket.hh:41
Connection
Definition:
connection.hh:29
Generated by
1.8.17