r23779: Change from v2 or later to v3 or later.
[samba.git] / source3 / include / rpc_perfcount_defs.h
1 #ifndef _RPC_PERFCOUNT_DEFS_H
2 #define _RPC_PERFCOUNT_DEFS_H
3 /* 
4  *  Unix SMB/CIFS implementation.
5  *  Virtual Windows Registry Layer
6  *
7  *  Copyright (C) Marcin Krzysztof Porwit    2005,
8  *  Copyright (C) Gerald (Jerry) Carter      2005.
9  *  
10  *  This program is free software; you can redistribute it and/or modify
11  *  it under the terms of the GNU General Public License as published by
12  *  the Free Software Foundation; either version 3 of the License, or
13  *  (at your option) any later version.
14  *  
15  *  This program is distributed in the hope that it will be useful,
16  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  *  GNU General Public License for more details.
19  *  
20  *  You should have received a copy of the GNU General Public License
21  *  along with this program; if not, write to the Free Software
22  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23  */
24
25 /*
26  * The following #defines match what is in winperf.h. 
27  * See that include file for more details, or look up
28  * "Performance Data Format" on MSDN
29  * 
30  * Rather than including them in rpc_perfcount.h, they
31  * were broken out into a separate .h file so that they
32  * can be included by other programs that need this info
33  * without pulling in everything else samba-related.
34  */
35
36 #define PERF_NO_INSTANCES             -1
37 #define PERF_NO_UNIQUE_ID             -1
38
39 /* These determine the data size */
40 #define PERF_SIZE_DWORD               0x00000000
41 #define PERF_SIZE_LARGE               0x00000100
42 #define PERF_SIZE_ZERO                0x00000200
43 #define PERF_SIZE_VARIABLE_LEN        0x00000300
44
45 /* These determine the usage of the counter */
46 #define PERF_TYPE_NUMBER              0x00000000
47 #define PERF_TYPE_COUNTER             0x00000400
48 #define PERF_TYPE_TEXT                0x00000800
49 #define PERF_TYPE_ZERO                0x00000C00
50
51 /* If PERF_TYPE_NUMBER was selected, these provide display information */
52 #define PERF_NUMBER_HEX               0x00000000
53 #define PERF_NUMBER_DECIMAL           0x00010000
54 #define PERF_NUMBER_DEC_1000          0x00020000
55
56 /* If PERF_TYPE_COUNTER was selected, these provide display information */
57 #define PERF_COUNTER_VALUE            0x00000000
58 #define PERF_COUNTER_RATE             0x00010000
59 #define PERF_COUNTER_FRACTION         0x00020000
60 #define PERF_COUNTER_BASE             0x00030000
61 #define PERF_COUNTER_ELAPSED          0x00040000
62 #define PERF_COUNTER_QUEUELEN         0x00050000
63 #define PERF_COUNTER_HISTOGRAM        0x00060000
64 #define PERF_COUNTER_PRECISION        0x00070000
65
66 /* If PERF_TYPE_TEXT was selected, these provide display information */
67 #define PERF_TEXT_UNICODE             0x00000000
68 #define PERF_TEXT_ASCII               0x00010000
69
70 /* These provide information for which tick count to use when computing elapsed interval */
71 #define PERF_TIMER_TICK               0x00000000
72 #define PERF_TIMER_100NS              0x00100000
73 #define PERF_OBJECT_TIMER             0x00200000
74
75 /* These affect how the data is manipulated prior to being displayed */
76 #define PERF_DELTA_COUNTER            0x00400000
77 #define PERF_DELTA_BASE               0x00800000
78 #define PERF_INVERSE_COUNTER          0x01000000
79 #define PERF_MULTI_COUNTER            0x02000000
80
81 /* These determine if any text gets added when the value is displayed */
82 #define PERF_DISPLAY_NO_SUFFIX        0x00000000
83 #define PERF_DISPLAY_PER_SEC          0x10000000
84 #define PERF_DISPLAY_PERCENT          0x20000000
85 #define PERF_DISPLAY_SECONDS          0x30000000
86 #define PERF_DISPLAY_NOSHOW           0x40000000
87
88 /* These determine the DetailLevel of the counter */
89 #define PERF_DETAIL_NOVICE            100
90 #define PERF_DETAIL_ADVANCED          200
91 #define PERF_DETAIL_EXPERT            300
92 #define PERF_DETAIL_WIZARD            400
93
94 #endif /* _RPC_PERFCOUNT_DEFS_H */