Main Page
Namespaces
Classes
Files
File List
File Members
src
glib
glimits.h
Go to the documentation of this file.
1
//
2
// Copyright (C) 2001-2013 Graeme Walker <graeme_walker@users.sourceforge.net>
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 3 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, see <http://www.gnu.org/licenses/>.
16
// ===
20
21
#ifndef G_LIMITS_H__
22
#define G_LIMITS_H__
23
24
#include "gdef.h"
25
27
namespace
G
28
{
29
class
limits ;
30
}
31
37
class
G::limits
38
{
39
public
:
40
41
#ifndef G_SMALL
42
enum
{
path
= 10000 } ;
// cf. MAX_PATH, PATH_MAX, MAXPATHLEN
43
enum
{
log
= 1000 } ;
// log line limit
44
enum
{
file_buffer
= 102400 } ;
// cf. BUFSIZ
45
enum
{
pipe_buffer
= 4096 } ;
// one-off read from a pipe
46
enum
{
get_pwnam_r_buffer
= 200 } ;
// approx line length in /etc/passwd
47
enum
{
net_buffer
= 20000 } ;
// best if bigger than the TLS maximum block size of 16k
48
enum
{
net_line_limit
= 1000000 } ;
// denial of service limit
49
enum
{
net_hostname
= 1024 } ;
50
enum
{
net_listen_queue
= 3 } ;
51
enum
{
net_certificate_cache_size
= 50 } ;
52
enum
{
win32_subclass_limit
= 80 } ;
53
enum
{
win32_classname_buffer
= 256 } ;
54
enum
{
ssl_max_cache_entries
= 10 } ;
// libnss3 SSL_ConfigServerSessionIDCache()
55
#else
56
enum
{
path
= 256 } ;
57
enum
{
log
= 120 } ;
58
enum
{
file_buffer
= 128 } ;
59
enum
{
pipe_buffer
= 128 } ;
60
enum
{
get_pwnam_r_buffer
= 1024 } ;
// if no sysconf() value
61
enum
{
net_buffer
= 512 } ;
62
enum
{
net_line_limit
= 2000 } ;
63
enum
{
net_hostname
= 128 } ;
64
enum
{
net_listen_queue
= 20 } ;
65
enum
{
net_certificate_cache_size
= 2 } ;
66
enum
{
win32_subclass_limit
= 2 } ;
67
enum
{
win32_classname_buffer
= 128 } ;
68
enum
{
ssl_max_cache_entries
= 0 } ;
69
#endif
70
71
private
:
72
limits() ;
// not implemented
73
} ;
74
75
#endif
G::limits::net_buffer
Definition:
glimits.h:47
G::limits::log
Definition:
glimits.h:43
G::limits::net_certificate_cache_size
Definition:
glimits.h:51
G::limits
A scoping structure for a set of buffer sizes.
Definition:
glimits.h:37
G::limits::net_listen_queue
Definition:
glimits.h:50
G::limits::net_hostname
Definition:
glimits.h:49
G::limits::get_pwnam_r_buffer
Definition:
glimits.h:46
G
Low-level classes.
G::limits::win32_subclass_limit
Definition:
glimits.h:52
G::limits::ssl_max_cache_entries
Definition:
glimits.h:54
G::limits::win32_classname_buffer
Definition:
glimits.h:53
G::limits::net_line_limit
Definition:
glimits.h:48
G::limits::path
Definition:
glimits.h:42
G::limits::pipe_buffer
Definition:
glimits.h:45
G::limits::file_buffer
Definition:
glimits.h:44
Generated on Mon Oct 30 2017 20:15:42 for E-MailRelay by
1.8.8