e6e2fd4badb3b97769c7eab97e6a05cec69cea38
[kai/samba.git] / source3 / include / local.h
1 /* Copyright (C) 1995-1998 Samba-Team */
2 /* Copyright (C) 1998 John H Terpstra <jht@aquasoft.com.au> */
3
4 /* local definitions for file server */
5 #ifndef _LOCAL_H
6 #define _LOCAL_H
7
8 /* The default workgroup - usually overridden in smb.conf */
9 #ifndef WORKGROUP
10 #define WORKGROUP "WORKGROUP"
11 #endif
12
13 /* This defines the section name in the configuration file that will contain */
14 /* global parameters - that is, parameters relating to the whole server, not */
15 /* just services. This name is then reserved, and may not be used as a       */
16 /* a service name. It will default to "global" if not defined here.          */
17 #define GLOBAL_NAME "global"
18 #define GLOBAL_NAME2 "globals"
19
20 /* This defines the section name in the configuration file that will
21    refer to the special "homes" service */
22 #define HOMES_NAME "homes"
23
24 /* This defines the section name in the configuration file that will
25    refer to the special "printers" service */
26 #define PRINTERS_NAME "printers"
27
28 /* Yves Gaige <yvesg@hptnodur.grenoble.hp.com> requested this set this       */
29 /* to a maximum of 8 if old smb clients break because of long printer names. */
30 #define MAXPRINTERLEN 15
31
32 /* max number of directories open at once */
33 /* note that with the new directory code this no longer requires a
34    file handle per directory, but large numbers do use more memory */
35 #define MAX_OPEN_DIRECTORIES 64
36
37 /* define what facility to use for syslog */
38 #ifndef SYSLOG_FACILITY
39 #define SYSLOG_FACILITY LOG_DAEMON
40 #endif
41
42 /* Default size of shared memory used for share mode locking */
43 #ifndef SHMEM_SIZE
44 #define SHMEM_SIZE (1024*1024)
45 #endif
46
47 /* 
48  * Default number of maximum open files per smbd. This is
49  * also limited by the maximum available file descriptors
50  * per process and can also be set in smb.conf as "max open files"
51  * in the [global] section.
52  */
53
54 #ifndef MAX_OPEN_FILES
55 #define MAX_OPEN_FILES 10000
56 #endif
57  
58 /* the max number of simultanous connections to the server by all clients */
59 #define MAXSTATUS 100000
60
61 #define WORDMAX 0xFFFF
62
63 /* the maximum password length before we declare a likely attack */
64 #define MAX_PASS_LEN 200
65
66 /* separators for lists */
67 #define LIST_SEP " \t,;:\n\r"
68
69 #ifndef LOCKDIR
70 /* this should have been set in the Makefile */
71 #define LOCKDIR "/tmp/samba"
72 #endif
73
74 /* this is where browse lists are kept in the lock dir */
75 #define SERVER_LIST "browse.dat"
76
77 /* shall guest entries in printer queues get changed to user entries,
78    so they can be deleted using the windows print manager? */
79 #define LPQ_GUEST_TO_USER
80
81 /* shall filenames with illegal chars in them get mangled in long
82    filename listings? */
83 #define MANGLE_LONG_FILENAMES 
84
85 /* define this if you want to stop spoofing with .. and soft links
86    NOTE: This also slows down the server considerably */
87 #define REDUCE_PATHS
88
89 /* the size of the directory cache */
90 #define DIRCACHESIZE 20
91
92 /* what default type of filesystem do we want this to show up as in a
93    NT file manager window? */
94 #define FSTYPE_STRING "NTFS"
95
96 /* the default guest account - normally set in the Makefile or smb.conf */
97 #ifndef GUEST_ACCOUNT
98 #define GUEST_ACCOUNT "nobody"
99 #endif
100
101 /* do you want smbd to send a 1 byte packet to nmbd to trigger it to start 
102    when smbd starts? */
103 #ifndef PRIME_NMBD
104 #define PRIME_NMBD 1
105 #endif
106
107 /* the default pager to use for the client "more" command. Users can
108    override this with the PAGER environment variable */
109 #ifndef PAGER
110 #define PAGER "more"
111 #endif
112
113 /* the size of the uid cache used to reduce valid user checks */
114 #define UID_CACHE_SIZE 4
115
116 /* if mmap is enabled, then this is the maximum size of file to use
117    the mmap code on. We don't want to mmap huge files as virtual
118    address spaces are limited */
119 #define MAX_MMAP_SIZE (100*0x100000)
120
121 /* the following control timings of various actions. Don't change 
122    them unless you know what you are doing. These are all in seconds */
123 #define DEFAULT_SMBD_TIMEOUT (60*60*24*7)
124 #define SMBD_RELOAD_CHECK (60)
125 #define IDLE_CLOSED_TIMEOUT (60)
126 #define DPTR_IDLE_TIMEOUT (120)
127 #define SMBD_SELECT_LOOP (10)
128 #define NMBD_SELECT_LOOP (10)
129 #define BROWSE_INTERVAL (60)
130 #define REGISTRATION_INTERVAL (10*60)
131 #define NMBD_INETD_TIMEOUT (120)
132 #define NMBD_MAX_TTL (24*60*60)
133 #define LPQ_LOCK_TIMEOUT (5)
134
135 /* the following are in milliseconds */
136 #define LOCK_RETRY_TIMEOUT (100)
137
138 /* do you want to dump core (carefully!) when an internal error is
139    encountered? Samba will be careful to make the core file only
140    accessible to root */
141 #define DUMP_CORE 1
142
143 #define SMB_ALIGNMENT 1
144
145
146 /* shall we support browse requests via a FIFO to nmbd? */
147 #define ENABLE_FIFO 1
148
149 /* how long to wait for a socket connect to happen */
150 #define LONG_CONNECT_TIMEOUT 30
151 #define SHORT_CONNECT_TIMEOUT 5
152
153 /* default socket options. Dave Miller thinks we should default to TCP_NODELAY
154    given the socket IO pattern that Samba uses*/
155 #ifdef TCP_NODELAY
156 #define DEFAULT_SOCKET_OPTIONS "TCP_NODELAY"
157 #else
158 #define DEFAULT_SOCKET_OPTIONS ""
159 #endif
160
161 /* the default netbios keepalive timeout */
162 #define DEFAULT_KEEPALIVE 300
163
164 /* the directory to sit in when idle */
165 /* #define IDLE_DIR "/" */
166
167 /* Timout (in seconds) to wait for an oplock break
168    message to return from the client. */
169
170 #define OPLOCK_BREAK_TIMEOUT 30
171
172 /* how many times do we try to resend the oplock break request - useful
173    for buggy MS clients */
174 #define OPLOCK_BREAK_RESENDS 3
175
176 /* Timout (in seconds) to add to the oplock break timeout
177    to wait for the smbd to smbd message to return. */
178
179 #define OPLOCK_BREAK_TIMEOUT_FUDGEFACTOR 2
180
181 /* the read preciction code has been disabled until some problems with
182    it are worked out */
183 #define USE_READ_PREDICTION 0
184
185 /* name of directory that netatalk uses to store macintosh resource forks */
186 #define APPLEDOUBLE ".AppleDouble/"
187
188 #endif