summaryrefslogtreecommitdiffstats
path: root/private/net/svcdlls/browser/server/br.h
blob: 18ca110c3e23b6ba282f69a65b0ac8e40dd46439 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/*++

Copyright (c) 1991 Microsoft Corporation

Module Name:

    br.h

Abstract:

    Private header file for the NT Browser service included by every
    module of the Workstation service.

Author:

    Rita Wong (ritaw) 15-Feb-1991

Revision History:

--*/

#ifndef _BR_INCLUDED_
#define _BR_INCLUDED_


#include <nt.h>                   // NT definitions
#include <ntrtl.h>                // NT runtime library definitions
#include <nturtl.h>

#include <windef.h>               // Win32 type definitions
#include <winbase.h>              // Win32 base API prototypes
#include <winsvc.h>               // Win32 service control APIs

#include <lmcons.h>               // LAN Manager common definitions
#include <lmerr.h>                // LAN Manager network error definitions
#include <lmsname.h>              // LAN Manager service names
#include <lmapibuf.h>             // NetApiBufferFree
#include <lmserver.h>

#include <netlib.h>               // LAN Man utility routines
#include <netlibnt.h>             // NetpNtStatusToApiStatus
#include <netdebug.h>             // NetpDbgPrint
#include <tstring.h>              // Transitional string functions
#include <icanon.h>               // I_Net canonicalize functions
#include <align.h>                // ROUND_UP_COUNT macro
#include <services.h>             // LM Extensions of service definitions
#include <strarray.h>

#include <rpc.h>                  // DataTypes and runtime APIs
#include <rpcutil.h>              // Prototypes for MIDL user functions
#include <bowser.h>               // Generated by the MIDL complier
#include <winsvc.h>
#include <srvann.h>
#include <lmbrowsr.h>

#include <ntddbrow.h>
#include <brcommon.h>               // Common browser routines.
#include <rx.h>
#include <rxserver.h>

#include "brconst.h"
#include "bowqueue.h"
#include "browsnet.h"
#include "browslst.h"
#include "brutil.h"
#include "brwan.h"
#include "brmain.h"
#include "brdevice.h"
#include "brconfig.h"
#include "browsdom.h"
#include "brbackup.h"
#include "brmaster.h"
#include "srvenum.h"

//
//  The following macros are used to establish the semantics needed
//  to do a return from within a try-finally clause.  As a rule every
//  try clause must end with a label call try_exit.  For example,
//
//      try {
//              :
//              :
//
//      try_exit: NOTHING;
//      } finally {
//
//              :
//              :
//      }
//
//  Every return statement executed inside of a try clause should use the
//  try_return macro.  If the compiler fully supports the try-finally construct
//  then the macro should be
//
//      #define try_return(S)  { return(S); }
//
//  If the compiler does not support the try-finally construct then the macro
//  should be
//

#define try_return(S)  { S; goto try_exit; }




#if DBG

#define STATIC

#define BR_DEBUG if (TRUE)

#define InternalError(PrintfString) { \
    NetpDbgPrint PrintfString;      \
    BrowserTrace PrintfString;      \
}

#define dprintf(LEVEL,String) {                         \
    if (((BROWSER_DEBUG_ ## LEVEL) == 0) || (BrInfo.BrowserDebug & (BROWSER_DEBUG_ ## LEVEL))) { \
        BrowserTrace String;                                     \
    }                                                       \
}


#else

#define STATIC static

#define BR_DEBUG if (FALSE)

#define InternalError(PrintfString)

#define dprintf(LEVEL, String) {NOTHING;}

#endif // DBG


#endif // ifdef _BR_INCLUDED_