r13658: More moving around of files:
[bbaumbach/samba-autobuild/.git] / source4 / include / core.h
1 /* 
2    Unix SMB/CIFS implementation.
3    Core Samba data types
4
5    Copyright (C) Andrew Tridgell              1992-2000
6    Copyright (C) Stefan Metzmacher                        2004
7    Copyright (C) Jelmer Vernooij                          2005
8    
9    This program is free software; you can redistribute it and/or modify
10    it under the terms of the GNU General Public License as published by
11    the Free Software Foundation; either version 2 of the License, or
12    (at your option) any later version.
13    
14    This program is distributed in the hope that it will be useful,
15    but WITHOUT ANY WARRANTY; without even the implied warranty of
16    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17    GNU General Public License for more details.
18    
19    You should have received a copy of the GNU General Public License
20    along with this program; if not, write to the Free Software
21    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 */
23
24 #ifndef _SAMBA_CORE_H
25 #define _SAMBA_CORE_H
26
27 #define False (0)
28 #define True (1)
29 #define Auto (2)
30
31 typedef int BOOL;
32
33 /* used to hold an arbitrary blob of data */
34 typedef struct datablob {
35         uint8_t *data;
36         size_t length;
37 } DATA_BLOB;
38
39 struct data_blob_list_item {
40         struct data_blob_list_item *prev,*next;
41         DATA_BLOB blob;
42 };
43
44 /* by making struct ldb_val and DATA_BLOB the same, we can simplify
45    a fair bit of code */
46 #define ldb_val datablob
47
48 /* 64 bit time (100 nanosec) 1601 - cifs6.txt, section 3.5, page 30, 4 byte aligned */
49 typedef uint64_t NTTIME;
50
51 typedef NTSTATUS (*init_module_fn) (void);
52
53 #endif /* _SAMBA_CORE_H */