Updated init script.
[dtbartle/bnbt.git] / util_ntservice.h
1 //\r
2 // Copyright (C) 2003-2004 Trevor Hogan\r
3 //\r
4 \r
5 /***********************************************************************\r
6 * NT Service code written by ConfusedFish and modified by Trevor Hogan *\r
7 ***********************************************************************/\r
8 \r
9 #ifndef UTIL_NTSERVICE_H\r
10  #define UTIL_NTSERVICE_H\r
11 \r
12 //  Values are 32 bit values layed out as follows:\r
13 //\r
14 //   3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1\r
15 //   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0\r
16 //  +---+-+-+-----------------------+-------------------------------+\r
17 //  |Sev|C|R|     Facility          |               Code            |\r
18 //  +---+-+-+-----------------------+-------------------------------+\r
19 //\r
20 //  where\r
21 //\r
22 //      Sev - is the severity code\r
23 //\r
24 //          00 - Success\r
25 //          01 - Informational\r
26 //          10 - Warning\r
27 //          11 - Error\r
28 //\r
29 //      C - is the Customer code flag\r
30 //\r
31 //      R - is a reserved bit\r
32 //\r
33 //      Facility - is the facility code\r
34 //\r
35 //      Code - is the facility's status code\r
36 //\r
37 //\r
38 // Define the facility codes\r
39 \r
40 //\r
41 // Define the severity codes\r
42 //\r
43 \r
44 //\r
45 // MessageId: EVMSG_INSTALLED\r
46 //\r
47 // MessageText:\r
48 //\r
49 //  The %1 service was installed.\r
50 //\r
51 \r
52 #define EVMSG_INSTALLED                  0x00000064L\r
53 \r
54 //\r
55 // MessageId: EVMSG_REMOVED\r
56 //\r
57 // MessageText:\r
58 //\r
59 //  The %1 service was removed.\r
60 //\r
61 \r
62 #define EVMSG_REMOVED                    0x00000065L\r
63 \r
64 //\r
65 // MessageId: EVMSG_NOTREMOVED\r
66 //\r
67 // MessageText:\r
68 //\r
69 //  The %1 service could not be removed.\r
70 //\r
71 \r
72 #define EVMSG_NOTREMOVED                 0x00000066L\r
73 \r
74 //\r
75 // MessageId: EVMSG_CTRLHANDLERNOTINSTALLED\r
76 //\r
77 // MessageText:\r
78 //\r
79 //  The control handler could not be installed.\r
80 //\r
81 \r
82 #define EVMSG_CTRLHANDLERNOTINSTALLED    0x00000067L\r
83 \r
84 //\r
85 // MessageId: EVMSG_FAILEDINIT\r
86 //\r
87 // MessageText:\r
88 //\r
89 //  The initialization process failed.\r
90 //\r
91 \r
92 #define EVMSG_FAILEDINIT                 0x00000068L\r
93 \r
94 //\r
95 // MessageId: EVMSG_STARTED\r
96 //\r
97 // MessageText:\r
98 //\r
99 //  The service was started.\r
100 //\r
101 \r
102 #define EVMSG_STARTED                    0x00000069L\r
103 \r
104 //\r
105 // MessageId: EVMSG_BADREQUEST\r
106 //\r
107 // MessageText:\r
108 //\r
109 //  The service received an unsupported request.\r
110 //\r
111 \r
112 #define EVMSG_BADREQUEST                 0x0000006AL\r
113 \r
114 //\r
115 // MessageId: EVMSG_DEBUG\r
116 //\r
117 // MessageText:\r
118 //\r
119 //  Debug: %1\r
120 //\r
121 \r
122 #define EVMSG_DEBUG                      0x0000006BL\r
123 \r
124 //\r
125 // MessageId: EVMSG_STOPPED\r
126 //\r
127 // MessageText:\r
128 //\r
129 //  The service was stopped.\r
130 //\r
131 \r
132 #define EVMSG_STOPPED                    0x0000006CL\r
133 \r
134 BOOL UTIL_NTServiceTest( );\r
135 BOOL UTIL_NTServiceInstall( );\r
136 BOOL UTIL_NTServiceUninstall( );\r
137 BOOL UTIL_NTServiceStart( );\r
138 BOOL UTIL_NTServiceStop( );\r
139 \r
140 void UTIL_NTLogEvent( WORD wType, DWORD dwID, const char *pszS1 = NULL, const char *pszS2 = NULL, const char *pszS3 = NULL );\r
141 \r
142 void WINAPI NTServiceHandler( DWORD dwOpcode );\r
143 void WINAPI NTServiceMain( DWORD dwArgc, LPTSTR *lpszArgv );\r
144 \r
145 extern SERVICE_STATUS_HANDLE ghServiceStatus;\r
146 extern SERVICE_STATUS gssStatus;\r
147 \r
148 #endif\r