summaryrefslogtreecommitdiffstats
path: root/include/nt
diff options
context:
space:
mode:
authorcvsadm <cvsadm>2005-01-21 00:44:34 +0000
committercvsadm <cvsadm>2005-01-21 00:44:34 +0000
commitb2093e3016027d6b5cf06b3f91f30769bfc099e2 (patch)
treecf58939393a9032182c4fbc4441164a9456e82f8 /include/nt
downloadds-ldapserver7x.tar.gz
ds-ldapserver7x.tar.xz
ds-ldapserver7x.zip
Moving NSCP Directory Server from DirectoryBranch to TRUNK, initial drop. (foxworth)ldapserver7x
Diffstat (limited to 'include/nt')
-rw-r--r--include/nt/messages.h410
-rw-r--r--include/nt/nsapi.h346
-rw-r--r--include/nt/ntos.h155
-rw-r--r--include/nt/regparms.h586
-rw-r--r--include/nt/resource.h36
5 files changed, 1533 insertions, 0 deletions
diff --git a/include/nt/messages.h b/include/nt/messages.h
new file mode 100644
index 00000000..d47a9fa5
--- /dev/null
+++ b/include/nt/messages.h
@@ -0,0 +1,410 @@
+/** BEGIN COPYRIGHT BLOCK
+ * Copyright 2001 Sun Microsystems, Inc.
+ * Portions copyright 1999, 2001-2003 Netscape Communications Corporation.
+ * All rights reserved.
+ * END COPYRIGHT BLOCK **/
+ /*
+ Microsoft Developer Support
+ Copyright (c) 1992 Microsoft Corporation
+
+ This file contains the message definitions for the Win32
+ messages.exe sample program.
+-------------------------------------------------------------------------
+ HEADER SECTION
+
+ The header section defines names and language identifiers for use
+ by the message definitions later in this file. The MessageIdTypedef,
+ SeverityNames, FacilityNames, and LanguageNames keywords are
+ optional and not required.
+
+
+
+ The MessageIdTypedef keyword gives a typedef name that is used in a
+ type cast for each message code in the generated include file. Each
+ message code appears in the include file with the format: #define
+ name ((type) 0xnnnnnnnn) The default value for type is empty, and no
+ type cast is generated. It is the programmer's responsibility to
+ specify a typedef statement in the application source code to define
+ the type. The type used in the typedef must be large enough to
+ accomodate the entire 32-bit message code.
+
+
+
+ The SeverityNames keyword defines the set of names that are allowed
+ as the value of the Severity keyword in the message definition. The
+ set is delimited by left and right parentheses. Associated with each
+ severity name is a number that, when shifted left by 30, gives the
+ bit pattern to logical-OR with the Facility value and MessageId
+ value to form the full 32-bit message code. The default value of
+ this keyword is:
+
+ SeverityNames=(
+ Success=0x0
+ Informational=0x1
+ Warning=0x2
+ Error=0x3
+ )
+
+ Severity values occupy the high two bits of a 32-bit message code.
+ Any severity value that does not fit in two bits is an error. The
+ severity codes can be given symbolic names by following each value
+ with :name
+
+
+
+ The FacilityNames keyword defines the set of names that are allowed
+ as the value of the Facility keyword in the message definition. The
+ set is delimited by left and right parentheses. Associated with each
+ facility name is a number that, when shift it left by 16 bits, gives
+ the bit pattern to logical-OR with the Severity value and MessageId
+ value to form the full 32-bit message code. The default value of
+ this keyword is:
+
+ FacilityNames=(
+ System=0x0FF
+ Application=0xFFF
+ )
+
+ Facility codes occupy the low order 12 bits of the high order
+ 16-bits of a 32-bit message code. Any facility code that does not
+ fit in 12 bits is an error. This allows for 4,096 facility codes.
+ The first 256 codes are reserved for use by the system software. The
+ facility codes can be given symbolic names by following each value
+ with :name
+
+
+ The LanguageNames keyword defines the set of names that are allowed
+ as the value of the Language keyword in the message definition. The
+ set is delimited by left and right parentheses. Associated with each
+ language name is a number and a file name that are used to name the
+ generated resource file that contains the messages for that
+ language. The number corresponds to the language identifier to use
+ in the resource table. The number is separated from the file name
+ with a colon. The initial value of LanguageNames is:
+
+ LanguageNames=(English=1:MSG00001)
+
+ Any new names in the source file which don't override the built-in
+ names are added to the list of valid languages. This allows an
+ application to support private languages with descriptive names.
+
+
+-------------------------------------------------------------------------
+ MESSAGE DEFINITION SECTION
+
+ Following the header section is the body of the Message Compiler
+ source file. The body consists of zero or more message definitions.
+ Each message definition begins with one or more of the following
+ statements:
+
+ MessageId = [number|+number]
+ Severity = severity_name
+ Facility = facility_name
+ SymbolicName = name
+
+ The MessageId statement marks the beginning of the message
+ definition. A MessageID statement is required for each message,
+ although the value is optional. If no value is specified, the value
+ used is the previous value for the facility plus one. If the value
+ is specified as +number then the value used is the previous value
+ for the facility, plus the number after the plus sign. Otherwise, if
+ a numeric value is given, that value is used. Any MessageId value
+ that does not fit in 16 bits is an error.
+
+ The Severity and Facility statements are optional. These statements
+ specify additional bits to OR into the final 32-bit message code. If
+ not specified they default to the value last specified for a message
+ definition. The initial values prior to processing the first message
+ definition are:
+
+ Severity=Success
+ Facility=Application
+
+ The value associated with Severity and Facility must match one of
+ the names given in the FacilityNames and SeverityNames statements in
+ the header section. The SymbolicName statement allows you to
+ associate a C/C++ symbolic constant with the final 32-bit message
+ code.
+ */
+//
+// Values are 32 bit values layed out as follows:
+//
+// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
+// 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
+// +---+-+-+-----------------------+-------------------------------+
+// |Sev|C|R| Facility | Code |
+// +---+-+-+-----------------------+-------------------------------+
+//
+// where
+//
+// Sev - is the severity code
+//
+// 00 - Success
+// 01 - Informational
+// 10 - Warning
+// 11 - Error
+//
+// C - is the Customer code flag
+//
+// R - is a reserved bit
+//
+// Facility - is the facility code
+//
+// Code - is the facility's status code
+//
+//
+// Define the facility codes
+//
+#define FACILITY_SYSTEM 0x0
+#define FACILITY_STARTUP 0x5
+#define FACILITY_RUNTIME 0x1
+#define FACILITY_REGISTRY 0x7
+#define FACILITY_NETWORK 0x4
+#define FACILITY_SERVICE 0x3
+#define FACILITY_FILESYSTEM 0x6
+#define FACILITY_CGI 0x2
+
+
+//
+// Define the severity codes
+//
+#define STATUS_SEVERITY_WARNING 0x2
+#define STATUS_SEVERITY_SUCCESS 0x0
+#define STATUS_SEVERITY_INFORMATIONAL 0x1
+#define STATUS_SEVERITY_ERROR 0x3
+
+
+//
+// MessageId: MSG_BAD_CONF_INIT
+//
+// MessageText:
+//
+// Netsite:%1 %2
+//
+#define MSG_BAD_CONF_INIT ((DWORD)0xC0050001L)
+
+//
+// MessageId: MSG_BAD_EREPORT_INIT
+//
+// MessageText:
+//
+// Netsite:%1 %2
+//
+#define MSG_BAD_EREPORT_INIT ((DWORD)0xC0050002L)
+
+//
+// MessageId: MSG_BAD_STARTUP
+//
+// MessageText:
+//
+// Netsite:%1 %2
+//
+#define MSG_BAD_STARTUP ((DWORD)0xC0050003L)
+
+//
+// MessageId: MSG_BAD_WINSOCK_INIT
+//
+// MessageText:
+//
+// Netsite Initialization:%1 %2
+//
+#define MSG_BAD_WINSOCK_INIT ((DWORD)0xC0050004L)
+
+//
+// MessageId: MSG_BAD_CGISEM_CREATE
+//
+// MessageText:
+//
+// Netsite Initialization:%1 %2
+//
+#define MSG_BAD_CGISEM_CREATE ((DWORD)0xC0050005L)
+
+//
+// MessageId: MSG_BAD_PROCESSSEM_CREATE
+//
+// MessageText:
+//
+// Netsite:Initialization:%1 %2
+//
+#define MSG_BAD_PROCESSSEM_CREATE ((DWORD)0xC0050006L)
+
+//
+// MessageId: MSG_STARTUP_SUCCESSFUL
+//
+// MessageText:
+//
+// Netsite:%1 %2
+//
+#define MSG_STARTUP_SUCCESSFUL ((DWORD)0x00050007L)
+
+//
+// MessageId: MSG_BAD_REGISTRY_PARAMETER
+//
+// MessageText:
+//
+// Netsite:%1 %2
+//
+#define MSG_BAD_REGISTRY_PARAMETER ((DWORD)0x80050008L)
+
+//
+// MessageId: MSG_BAD_GENERAL_FUNCTION
+//
+// MessageText:
+//
+// Netsite:Execution of Initialization Function failed %1 %2
+//
+#define MSG_BAD_GENERAL_FUNCTION ((DWORD)0xC0050009L)
+
+//
+// MessageId: MSG_BAD_SETCIPHERS
+//
+// MessageText:
+//
+// Netsite: %1 %2
+//
+#define MSG_BAD_SETCIPHERS ((DWORD)0xC0050010L)
+
+//
+// MessageId: MSG_BAD_REGISTRY_KEY_OPEN
+//
+// MessageText:
+//
+// Netsite Initialization:Open of %1 %2
+//
+#define MSG_BAD_REGISTRY_KEY_OPEN ((DWORD)0xC0050011L)
+
+//
+// MessageId: MSG_BAD_REGISTRY_KEY_ENUM
+//
+// MessageText:
+//
+// Netsite Initialization:Enumeration of %1 %2
+//
+#define MSG_BAD_REGISTRY_KEY_ENUM ((DWORD)0xC0050012L)
+
+//
+// MessageId: MSG_BAD_REGISTRY_VALUE_ENUM
+//
+// MessageText:
+//
+// Netsite Initialization:Enumeration of Values of %1 %2
+//
+#define MSG_BAD_REGISTRY_VALUE_ENUM ((DWORD)0xC0050013L)
+
+//
+// MessageId: MSG_BAD_OBJECT_VALUE
+//
+// MessageText:
+//
+// Netsite startup:Use Values "name" or "ppath" for object key.Incorrect Parameter %1 %2
+//
+#define MSG_BAD_OBJECT_VALUE ((DWORD)0xC0050014L)
+
+//
+// MessageId: MSG_BAD_PBLOCK
+//
+// MessageText:
+//
+// Netsite startup:Could not enter Parameter %1 %2
+//
+#define MSG_BAD_PBLOCK ((DWORD)0xC0050015L)
+
+//
+// MessageId: MSG_BAD_CLIENT_VALUE
+//
+// MessageText:
+//
+// Netsite startup:Use Values "dns" or "ip" for client key.Incorrect Parameter %1 %2
+//
+#define MSG_BAD_CLIENT_VALUE ((DWORD)0xC0050016L)
+
+//
+// MessageId: MSG_BAD_DIRECTIVE
+//
+// MessageText:
+//
+// Netsite startup:Incorrect Directive Value %1 %2
+//
+#define MSG_BAD_DIRECTIVE ((DWORD)0xC0050017L)
+
+//
+// MessageId: MSG_BAD_PARAMETER
+//
+// MessageText:
+//
+// Netsite startup:Incorrect Parameter %1 %2
+//
+#define MSG_BAD_PARAMETER ((DWORD)0xC0050018L)
+
+//
+// MessageId: MSG_WD_RESTART
+//
+// MessageText:
+//
+// Web Server: %1
+// The server terminated abnormally with error code %2.
+// An attempt will be made to restart it.
+//
+#define MSG_WD_RESTART ((DWORD)0xC0050019L)
+
+//
+// MessageId: MSG_WD_STARTFAILED
+//
+// MessageText:
+//
+// Web Server: %1
+// The server could not be started.
+// Command line used: %2
+//
+#define MSG_WD_STARTFAILED ((DWORD)0xC005001AL)
+
+//
+// MessageId: MSG_WD_BADPASSWORD
+//
+// MessageText:
+//
+// Web Server: %1
+// Incorrect SSL password entered.
+//
+#define MSG_WD_BADPASSWORD ((DWORD)0xC005001BL)
+
+//
+// MessageId: MSG_WD_BADCMDLINE
+//
+// MessageText:
+//
+// Web Server: %1
+// Invalid command line specified: %2
+//
+#define MSG_WD_BADCMDLINE ((DWORD)0xC005001CL)
+
+//
+// MessageId: MSG_WD_STRING
+//
+// MessageText:
+//
+// Web Server: %1
+// %2
+//
+#define MSG_WD_STRING ((DWORD)0xC005001DL)
+
+//
+// MessageId: MSG_WD_REGISTRY
+//
+// MessageText:
+//
+// Web Server: %1
+// Could not open registry key: %2
+//
+#define MSG_WD_REGISTRY ((DWORD)0xC005001EL)
+
+//
+// MessageId: MSG_CRON_STARTFAILED
+//
+// MessageText:
+//
+// Web Server: %1
+// The scheduled job (%2) could not be started.
+//
+#define MSG_CRON_STARTFAILED ((DWORD)0xC005001FL)
+
diff --git a/include/nt/nsapi.h b/include/nt/nsapi.h
new file mode 100644
index 00000000..f286dc1f
--- /dev/null
+++ b/include/nt/nsapi.h
@@ -0,0 +1,346 @@
+/** BEGIN COPYRIGHT BLOCK
+ * Copyright 2001 Sun Microsystems, Inc.
+ * Portions copyright 1999, 2001-2003 Netscape Communications Corporation.
+ * All rights reserved.
+ * END COPYRIGHT BLOCK **/
+/*
+ * Aruna Victor
+ */
+
+#include <windows.h>
+#include <stdio.h>
+
+#include <base/buffer.h>
+#include <base/file.h>
+#include <base/daemon.h>
+#include <base/eventlog.h>
+#include <base/util.h>
+#include <base/shexp.h>
+#include <base/session.h>
+#include <base/sem.h>
+#include <base/pblock.h>
+#include <base/net.h>
+#include <base/ereport.h>
+#include <base/cinfo.h>
+#include <base/systhr.h>
+#include <base/shmem.h>
+#include <base/crit.h>
+#include <base/systhr.h>
+
+#include <frame/objset.h>
+#include <frame/conf.h>
+#include <frame/func.h>
+#include <frame/http.h>
+#include <frame/log.h>
+#include <frame/object.h>
+#include <frame/protocol.h>
+#include <frame/req.h>
+#include <frame/httpact.h>
+#include <frame/servact.h>
+
+#include <libmsgdisp/orb.h>
+#include <libmsgdisp/nsarray.h>
+#include <libmsgdisp/msgchnel.h>
+#include <libmsgdisp/mdbtree.h>
+#include <libmsgdisp/mdutil.h>
+
+#include <ssl.h>
+#include <nt/magnus.h>
+
+typedef void * (SafFunction)();
+SafFunction **SafTable;
+__declspec(dllexport) int InitSafTable(SafFunction *Table);
+
+/* Functions from ntbuffer.c */
+
+#define FILEBUF_OPEN 1
+#define NETBUF_OPEN 2
+#define FILEBUF_OPEN_NOSTAT 3
+
+#define PIPEBUF_OPEN 4
+#define PIPEBUF_CLOSE 5
+#define FILEBUF_NEXT 6
+#define NETBUF_NEXT 7
+
+#define PIPEBUF_NEXT 8
+#define FILEBUF_CLOSE 9
+#define NETBUF_CLOSE 10
+#define FILEBUF_GRAB 11
+#define NETBUF_GRAB 12
+#define PIPEBUF_GRAB 13
+#define NETBUF_BUF2SD 14
+#define FILEBUF_BUF2SD 15
+
+#define PIPEBUF_BUF2SD 16
+#define PIPEBUF_NETBUF2SD 17
+
+/* Functions from daemon.h */
+
+#define NTDAEMON_RUN 18
+#define CHILD_STATUS 19
+
+/* Functions from file.h */
+#define SYSTEM_FREAD 20
+#define SYSTEM_PREAD 21
+#define SYSTEM_FOPENRO 22
+#define SYSTEM_FOPENWA 23
+#define SYSTEM_FOPENRW 24
+#define SYSTEM_FCLOSE 25
+#define SYSTEM_NOCOREDUMPS 26
+#define SYSTEM_FWRITE 27
+#define SYSTEM_FWRITE_ATOMIC 28
+#define SYSTEM_WINERR 29
+#define SYSTEM_WINSOCKERR 30
+#define FILE_NOTFOUND 31
+#define SYSTEM_STAT 32
+#define SYSTEM_INITLOCK 33
+
+#define FILE_UNIX2LOCAL 34
+#define DIR_OPEN 35
+#define DIR_READ 36
+#define DIR_CLOSE 37
+
+/* Functions from sem.h */
+#define SEM_INIT 40
+#define SEM_TERMINATE 41
+#define SEM_GRAB 42
+#define SEM_TGRAB 43
+#define SEM_RELEASE 44
+
+/* Functions from session.h */
+#define SESSION_CREATE 45
+#define SESSION_FREE 46
+#define SESSION_DNS_LOOKUP 47
+
+/* Functions from cinfo.h */
+#define CINFO_INIT 70
+#define CINFO_TERMINATE 71
+#define CINFO_MERGE 72
+#define CINFO_FIND 73
+#define CINFO_LOOKUP 74
+#define CINFO_DUMP_DATABASE 75
+
+/* Functions from ereport.h */
+#define EREPORT 80
+#define EREPORT_INIT 81
+#define EREPORT_TERMINATE 82
+#define EREPORT_GETFD 83
+
+/* Functions from minissl.h */
+#define SSL_CLOSE 90
+#define SSL_SOCKET 91
+#define SSL_GET_SOCKOPT 92
+#define SSL_SET_SOCKOPT 93
+#define SSL_BIND 94
+#define SSL_LISTEN 95
+#define SSL_ACCEPT 96
+#define SSL_READ 97
+#define SSL_WRITE 98
+#define SSL_GETPEERNAME 99
+
+/* Functions from net.h */
+#define NET_BIND 110
+#define NET_READ 111
+#define NET_WRITE 112
+
+#define NET_FIND_FQDN 113
+#define NET_IP2HOST 114
+#define NET_SENDMAIL 115
+
+/* Functions from pblock.h */
+#define PARAM_CREATE 120
+#define PARAM_FREE 121
+#define PBLOCK_CREATE 122
+#define PBLOCK_FREE 123
+#define PBLOCK_FINDVAL 124
+#define PBLOCK_NVINSERT 125
+#define PBLOCK_NNINSERT 126
+#define PBLOCK_PINSERT 127
+#define PBLOCK_STR2PBLOCK 128
+#define PBLOCK_PBLOCK2STR 129
+#define PBLOCK_COPY 130
+#define PBLOCK_PB2ENV 131
+#define PBLOCK_FR 132
+
+/* Functions from systhr.h */
+#define SYSTHREAD_START 133
+#define SYSTHREAD_ATTACH 134
+#define SYSTHREAD_TERMINATE 135
+#define SYSTHREAD_SLEEP 136
+#define SYSTHREAD_INIT 137
+#define SYSTHREAD_NEWKEY 138
+#define SYSTHREAD_GETDATA 139
+#define SYSTHREAD_SETDATA 140
+
+/* Functions from shmem.h */
+#define SHMEM_ALLOC 141
+#define SHMEM_FREE 142
+
+/* Functions from eventlog.h */
+#define INITIALIZE_ADMIN_LOGGING 143
+#define INITIALIZE_HTTPD_LOGGING 144
+#define INITIALIZE_HTTPS_LOGGING 145
+
+#define TERMINATE_ADMIN_LOGGING 146
+#define TERMINATE_HTTPD_LOGGING 147
+#define TERMINATE_HTTPS_LOGGING 148
+
+#define LOG_ERROR_EVENT 149
+
+/* Functions from shexp.h */
+#define SHEXP_VALID 160
+#define SHEXP_MATCH 161
+#define SHEXP_CMP 162
+#define SHEXP_CASECMP 163
+
+/* Functions from systems.h */
+#define UTIL_STRCASECMP 170
+#define UTIL_STRNCASECMP 171
+
+/* Functions from util.h */
+#define UTIL_GETLINE 180
+#define UTIL_ENV_CREATE 181
+#define UTIL_ENV_STR 182
+#define NTUTIL_ENV_STR 183
+#define UTIL_ENV_REPLACE 184
+#define UTIL_ENV_FREE 185
+#define UTIL_ENV_FIND 186
+#define UTIL_HOSTNAME 187
+#define UTIL_CHDIR2PATH 188
+#define UTIL_IS_MOZILLA 189
+#define UTIL_IS_URL 190
+#define UTIL_LATER_THAN 191
+#define UTIL_URI_IS_EVIL 192
+#define UTIL_URI_PARSE 193
+#define UTIL_URI_UNESCAPE 194
+#define UTIL_URI_ESCAPE 195
+#define UTIL_URL_ESCAPE 196
+#define UTIL_SH_ESCAPE 197
+#define UTIL_ITOA 198
+#define UTIL_VSPRINTF 199
+#define UTIL_SPRINTF 200
+#define UTIL_VSNPRINTF 201
+#define UTIL_SNPRINTF 202
+
+/* Functions from magnus.h */
+#define MAGNUS_ATRESTART 203
+
+/* Functions from conf.h */
+#define CONF_INIT 207
+#define CONF_TERMINATE 208
+#define CONF_GETGLOBALS 209
+#define CONF_VARS2DAEMON 210
+
+/* Functions from req.h */
+#define REQUEST_CREATE 211
+#define REQUEST_FREE 212
+#define REQUEST_RESTART_INTERNAL 213
+#define REQUEST_TRANSLATE_URI 214
+#define REQUEST_HEADER 215
+#define REQUEST_STAT_PATH 216
+#define REQUEST_URI2PATH 217
+#define REQUEST_PATHCHECKS 218
+#define REQUEST_FILEINFO 219
+#define REQUEST_HANDLE_PROCESSED 220
+#define REQUEST_SERVICE 221
+#define REQUEST_HANDLE 222
+
+/* Functions from object.h */
+#define DIRECTIVE_NAME2NUM 223
+#define DIRECTIVE_NUM2NAME 224
+#define OBJECT_CREATE 225
+#define OBJECT_FREE 226
+#define OBJECT_ADD_DIRECTIVE 227
+#define OBJECT_EXECUTE 228
+
+/* Functions from objset.h */
+#define OBJSET_SCAN_BUFFER 230
+#define OBJSET_CREATE 231
+#define OBJSET_FREE 232
+#define OBJSET_FREE_SETONLY 233
+#define OBJSET_NEW_OBJECT 234
+#define OBJSET_ADD_OBJECT 235
+#define OBJSET_FINDBYNAME 236
+#define OBJSET_FINDBYPPATH 237
+
+/* Functions from http.h */
+#define HTTP_PARSE_REQUEST 240
+#define HTTP_SCAN_HEADERS 241
+#define HTTP_START_RESPONSE 242
+#define HTTP_HDRS2_ENV 243
+#define HTTP_STATUS 244
+#define HTTP_SET_FINFO 245
+#define HTTP_DUMP822 246
+#define HTTP_FINISH_REQUEST 247
+#define HTTP_HANDLE_SESSION 248
+#define HTTP_URI2URL 249
+
+/* Functions from func.h */
+#define FUNC_INIT 251
+#define FUNC_FIND 252
+#define FUNC_EXEC 253
+#define FUNC_INSERT 254
+
+/* Functions from log.h */
+#define LOG_ERROR 260
+
+/* robm Functions added in 2.0 */
+#define SYSTEM_FOPENWT 261
+#define SYSTEM_MALLOC 262
+#define SYSTEM_FREE 263
+#define SYSTEM_REALLOC 264
+#define SYSTEM_STRDUP 265
+
+#define UPLOAD_FILE 266
+
+#define CRIT_INIT 267
+#define CRIT_ENTER 268
+#define CRIT_EXIT 269
+#define CRIT_TERMINATE 270
+#define SYSTHREAD_CURRENT 271
+
+#define NET_ACCEPT 272
+#define NET_CLOSE 273
+#define NET_CONNECT 274
+#define NET_IOCTL 275
+#define NET_LISTEN 276
+#define NET_SETSOCKOPT 277
+#define NET_SOCKET 278
+
+/* Daryoush Functions added in 3.0 */
+#define NSORB_INIT 279
+#define NSORB_INST_ID 280
+#define NSORB_GET_INST 281
+#define NSORB_REG_INT 282
+#define NSORB_FIND_OBJ 283
+#define NSORB_GET_INTERFACE 284
+
+#define ARR_NEW 285
+#define ARR_FREE 286
+#define ARR_GET_OBJ 288
+#define ARR_GET_LAST_OBJ 289
+#define ARR_NEW_OBJ 290
+#define ARR_GET_NUM_OBJ 291
+#define ARR_RESET 292
+#define ARR_REMOVEOBJ 293
+#define ARR_GET_OBJ_NUM 294
+
+#define CM_BT_NEW 295
+#define CM_BT_ADD_NODE 296
+#define CM_BT_FIND_NODE 297
+#define CM_BT_DEL_NODE 298
+#define CM_BT_DESTROY 299
+#define CM_BT_GET_NUM 300
+#define CM_BT_TRAVEL 301
+
+#define CM_STR_NEW 302
+#define CM_STR_ADD 303
+#define CM_STR_REL 304
+#define CM_STR_FREE 305
+#define CM_STR_GET 306
+#define CM_STR_SIZE 307
+#define CM_COPY_STR 308
+#define CM_MAKE_UID 309
+
+#define MS_NEW 310
+#define MS_CREATE 311
diff --git a/include/nt/ntos.h b/include/nt/ntos.h
new file mode 100644
index 00000000..dce0efa0
--- /dev/null
+++ b/include/nt/ntos.h
@@ -0,0 +1,155 @@
+/** BEGIN COPYRIGHT BLOCK
+ * Copyright 2001 Sun Microsystems, Inc.
+ * Portions copyright 1999, 2001-2003 Netscape Communications Corporation.
+ * All rights reserved.
+ * END COPYRIGHT BLOCK **/
+/**********************************************************************
+ * ntOS.h - functionality used bt NT Operating System
+ *
+ **********************************************************************/
+
+#ifndef _ntos_h
+#define _ntos_h
+
+
+#ifdef __cplusplus
+extern "C" { /* Assume C declarations for C++ */
+#endif /* __cplusplus */
+
+#ifdef ISHIELD_DLL
+#define NS_WINAPI WINAPI
+#else
+#define NS_WINAPI
+#endif
+
+/* prototypes for info.c */
+typedef enum {
+ OS_WIN95,
+ OS_WINNT,
+ OS_WIN32S,
+ OS_UNKNOWN
+} OS_TYPE;
+
+typedef enum {
+ PROCESSOR_I386,
+ PROCESSOR_ALPHA,
+ PROCESSOR_MIPS,
+ PROCESSOR_PPC,
+ PROCESSOR_UNKNOWN
+} PROCESSOR_TYPE;
+
+OS_TYPE NS_WINAPI INFO_GetOperatingSystem ();
+DWORD NS_WINAPI INFO_GetOSMajorVersion ();
+DWORD NS_WINAPI INFO_GetOSMinorVersion ();
+void NS_WINAPI OS_GetComputerName (LPTSTR computerName, int nComputerNameLength );
+PROCESSOR_TYPE NS_WINAPI OS_GetProcessor ();
+DWORD NS_WINAPI INFO_GetOSServicePack ();
+
+
+/* prototypes for path.c */
+DWORD NS_WINAPI PATH_RemoveRelative ( char * path );
+DWORD NS_WINAPI PATH_ConvertNtSlashesToUnix( LPCTSTR lpszNtPath, LPSTR lpszUnixPath );
+DWORD NS_WINAPI PATH_GetNextFileInDirectory ( long hFile, char * path, char * lpFileName );
+DWORD NS_WINAPI PATH_GetNextSubDirectory( long hFile, char * path, char * lpSubDirectoryName, char * lpSubDirectoryPrefix );
+DWORD NS_WINAPI PATH_DeleteRecursively ( char * path );
+
+
+/* prototypes for registry.c */
+BOOL NS_WINAPI REG_CheckIfKeyExists( HKEY hKey, LPCTSTR registryKey );
+BOOL NS_WINAPI REG_CreateKey( HKEY hKey, LPCTSTR registryKey );
+BOOL NS_WINAPI REG_DeleteKey( HKEY hKey, LPCTSTR registryKey );
+BOOL NS_WINAPI REG_DeleteValue( HKEY hKey, LPCTSTR registryKey, LPCSTR valueName );
+
+BOOL NS_WINAPI
+REG_GetRegistryParameter(
+ HKEY hKey,
+ LPCTSTR registryKey,
+ LPTSTR QueryValueName,
+ LPDWORD ValueType,
+ LPBYTE ValueBuffer,
+ LPDWORD ValueBufferSize
+ );
+
+BOOL NS_WINAPI
+REG_SetRegistryParameter(
+ HKEY hKey,
+ LPCTSTR registryKey,
+ LPTSTR valueName,
+ DWORD valueType,
+ LPCTSTR ValueString,
+ DWORD valueStringLength
+ );
+
+BOOL NS_WINAPI
+REG_GetSubKeysInfo(
+ HKEY hKey,
+ LPCTSTR registryKey,
+ LPDWORD lpdwNumberOfSubKeys,
+ LPDWORD lpdwMaxSubKeyLength
+ );
+
+BOOL NS_WINAPI
+REG_GetSubKey( HKEY hKey,
+ LPCTSTR registryKey,
+ DWORD nSubKeyIndex,
+ LPTSTR registrySubKeyBuffer,
+ DWORD subKeyBufferSize
+ );
+
+/* prototypes for service.c */
+#define SERVRET_ERROR 0
+#define SERVRET_INSTALLED 1
+#define SERVRET_STARTING 2
+#define SERVRET_STARTED 3
+#define SERVRET_STOPPING 4
+#define SERVRET_REMOVED 5
+
+DWORD NS_WINAPI SERVICE_GetNTServiceStatus(LPCTSTR szServiceName, LPDWORD lpLastError );
+DWORD NS_WINAPI SERVICE_InstallNTService(LPCTSTR szServiceName, LPCTSTR szServiceDisplayName, LPCTSTR szServiceExe );
+DWORD NS_WINAPI SERVICE_ReinstallNTService(LPCTSTR szServiceName, LPCTSTR szServiceDisplayName, LPCTSTR szServiceExe );
+DWORD NS_WINAPI SERVICE_RemoveNTService(LPCTSTR szServiceName);
+DWORD NS_WINAPI SERVICE_StartNTService(LPCTSTR szServiceName);
+DWORD NS_WINAPI SERVICE_StartNTServiceAndWait(LPCTSTR szServiceName, LPDWORD lpdwLastError);
+DWORD NS_WINAPI SERVICE_StopNTService(LPCTSTR szServiceName);
+DWORD NS_WINAPI SERVICE_StopNTServiceAndWait(LPCTSTR szServiceName, LPDWORD lpdwLastError);
+
+
+/* prototypes for pmddeml.c */
+DWORD PMDDEML_Open ( void );
+BOOL PMDDEML_Close ( DWORD idInst );
+BOOL PMDDEML_CreateProgramManagerGroup ( DWORD idInst, LPCTSTR lpszGroupName );
+BOOL PMDDEML_DeleteProgramManagerGroup ( DWORD idInst, LPCTSTR lpszGroupName );
+BOOL PMDDEML_ShowProgramManagerGroup ( DWORD idInst, LPCTSTR lpszGroupName );
+BOOL PMDDEML_AddIconToProgramManagerGroup ( DWORD idInst, LPCTSTR lpszCmdLine,
+ LPCTSTR lpszTitle, LPCTSTR lpszIconPath, LPCTSTR lpszWorkingDir,
+ BOOL bReplace );
+BOOL PMDDEML_CreateProgramManagerCommonGroup ( DWORD idInst,
+ LPCTSTR lpszGroupName );
+BOOL PMDDEML_DeleteProgramManagerCommonGroup ( DWORD idInst,
+ LPCTSTR lpszGroupName );
+BOOL PMDDEML_ShowProgramManagerCommonGroup ( DWORD idInst,
+ LPCTSTR lpszGroupName );
+BOOL PMDDEML_DeleteIconInProgramManagerGroup ( DWORD idInst, LPCTSTR lpszTitle );
+BOOL PMDDEML_GetProgramGroupInfo(DWORD idInst, LPSTR lpProgramGroup, char *szBuffer, DWORD cbBuffer);
+
+/* prototypes for tcpip.c */
+#define TCPIP_NO_ERROR 0
+#define TCPIP_UNSUPPORTED_OS 1
+#define TCPIP_NO_WINSOCK_DLL 2
+#define TCPIP_NO_TCPIP 3
+#define TCPIP_NETWORK_DOWN 4 /* The Windows Sockets implementation has detected that the network subsystem has failed. */
+#define TCPIP_NETWORK_ERROR 5
+#define TCPIP_HOST_NOT_FOUND 6 /* Authoritative Answer Host not found. */
+#define TCPIP_HOST_SERVER_DOWN 7 /* Non-Authoritative Host not found, or SERVERFAIL */
+#define TCPIP_HOST_VALID_NAME 8 /* Valid name, no data record of requested type. */
+
+DWORD NS_WINAPI
+TCPIP_GetDefaultHostName( LPTSTR lpszFullHostName, LPTSTR lpszHostName, LPTSTR lpszDomainName );
+DWORD NS_WINAPI TCPIP_VerifyHostName( LPCTSTR lpszHostName );
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif
diff --git a/include/nt/regparms.h b/include/nt/regparms.h
new file mode 100644
index 00000000..418e60b0
--- /dev/null
+++ b/include/nt/regparms.h
@@ -0,0 +1,586 @@
+/** BEGIN COPYRIGHT BLOCK
+ * Copyright 2001 Sun Microsystems, Inc.
+ * Portions copyright 1999, 2001-2003 Netscape Communications Corporation.
+ * All rights reserved.
+ * END COPYRIGHT BLOCK **/
+// //
+// Name: regparms.h //
+// Platforms: WIN32 //
+// ...................................................................... //
+// This module contains registry key definations used throughout the //
+// server. //
+// ...................................................................... //
+// Revision History: //
+// 01-12-95 Initial Version, Aruna Victor (aruna@netscape.com) //
+// 12-19-96 3.0 registry changes, Andy Hakim (ahakim@netscape.com) //
+// 07-24-97 3.5 registry changes, Ted Byrd (tbyrd@netscape.com) //
+// 09-28-97 4.0 registry changes, Glen Beasley (gbeasley@netscape.com) //
+//--------------------------------------------------------------------------//
+#define KEY_COMPANY "Netscape"
+#define KEY_APP_PATH "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths"
+#define KEY_RUN_ONCE "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce"
+#define KEY_SERVICES "SYSTEM\\CurrentControlSet\\Services"
+#define KEY_SNMP_SERVICE "SNMP\\Parameters\\ExtensionAgents"
+#define KEY_SNMP_CURRENTVERSION "SNMP\\CurrentVersion"
+#define KEY_EVENTLOG_MESSAGES "EventLogMessages"
+#define KEY_EVENTLOG_APP "EventLog\\Application"
+#define KEY_SOFTWARE_NETSCAPE "SOFTWARE\\Netscape"
+#define VALUE_IMAGE_PATH "ImagePath"
+#define VALUE_CONFIG_PATH "ConfigurationPath"
+#define VALUE_ROOT_PATH "RootPath"
+#define VALUE_APP_PATH "Pathname"
+#define PROGRAM_GROUP_NAME "Netscape SuiteSpot"
+#define STR_PRODUCT_TYPE "Server"
+#define STR_EXE ".exe"
+#define STR_COMPANY_PREFIX "ns-"
+
+/* SuiteSpot IDs */
+#define NSS_NAME_SHORT "SuiteSpot"
+#define NSS_VERSION "6.0"
+#define NSS_NAME_VERSION "SuiteSpot 6.0"
+#define NSS_NAME_FULL "Netscape SuiteSpot"
+#define NSS_NAME_FULL_VERSION "Netscape SuiteSpot 6.0"
+#define NSS_NAME_UNINSTALL "Uninstall SuiteSpot 6.0"
+
+/* Admin IDs */
+#define ADM_ID_PRODUCT "admin"
+#define ADM_NAME_SHORT "Administration"
+#define ADM_VERSION "6.0"
+#define ADM_NAME_VERSION "Administration 6.0"
+#define ADM_NAME_SERVER "Administration Server"
+#define ADM_NAME_FULL "Netscape Administration Server"
+#define ADM_NAME_FULL_VERSION "Netscape Administration Server 6.0"
+#define ADM_NAME_SERVICE "Netscape Administration 6.0"
+#define ADM_EXE "ns-admin.exe"
+#define ADM_EXE_START "admin.exe"
+#define ADM_ID_SERVICE "admin60"
+#define ADM_KEY_ROOT "Administration\\6.0"
+#define ADM_SERVER_LST_NAME "adm:Netscape Enterprise Server"
+#define ADM_DIR_ROOT "admin"
+#define ADM_NAME_UNINSTALL "Uninstall Administration Server 6.0"
+
+#if defined( NS_DS )
+#define ADMIN_SERVICE_NAME "Admin Server"
+#define ADMIN_ICON_NAME "Administer Netscape Servers"
+#endif
+
+/* Enterprise IDs */
+#define ENT_ID_PRODUCT "https"
+#define ENT_NAME_SHORT "Enterprise"
+#define ENT_VERSION "3.01"
+#define ENT_NAME_VERSION "Enterprise 3.01"
+#define ENT_NAME_SERVER "Enterprise Server"
+#define ENT_NAME_FULL "Netscape Enterprise Server"
+#define ENT_NAME_FULL_VERSION "Netscape Enterprise Server 3.01"
+#define ENT_NAME_SERVICE "Netscape Enterprise 3.01"
+#define ENT_EXE "ns-httpd.exe"
+#define ENT_EXE_START "httpd.exe"
+#define ENT_ID_SERVICE "https"
+#define ENT_KEY_ROOT "Enterprise\\3.01"
+#define ENT_SERVER_LST_NAME "https:Netscape Enterprise Server"
+#define ENT_DIR_ROOT "https"
+#define ENT_NAME_UNINSTALL "Uninstall Enterprise Server 3.01"
+
+/* Personal IDs */
+#define PERSONAL_APP_PATH_KEY "ns-httpd.exe"
+#define PERSONAL_README_ICON_NAME "FastTrack README"
+#define PERSONAL_REGISTRY_ROOT_KEY "Httpd Server"
+#define PERSONAL_SERVER_LST_NAME "httpd:Netscape FastTrack Server"
+#define PERSONAL_UNINSTALL_ICON_NAME "Uninstall FastTrack"
+#define PERSONAL_UNINSTALL_KEY "FastTrackV2.0"
+#define PERSONAL_SERVER_NAME "Netscape FastTrack Server"
+
+
+
+
+#define PER_ID_PRODUCT "httpd"
+#define PER_NAME_SHORT "FastTrack"
+#define PER_VERSION "3.01"
+#define PER_NAME_VERSION "FastTrack 3.01"
+#define PER_NAME_SERVER "FastTrack Server"
+#define PER_NAME_FULL "Netscape FastTrack Server"
+#define PER_NAME_FULL_VERSION "Netscape FastTrack Server 3.01"
+#define PER_NAME_SERVICE "Netscape FastTrack 3.01"
+#define PER_EXE "ns-httpd.exe"
+#define PER_EXE_START "httpd.exe"
+#define PER_ID_SERVICE "httpd"
+#define PER_KEY_ROOT "FastTrack\\3.01"
+#define PER_SERVER_LST_NAME "httpd:Netscape FastTrack Server"
+#define PER_DIR_ROOT "httpd"
+#define PER_NAME_UNINSTALL "Uninstall FastTrack Server 3.01"
+
+/* Proxy IDs */
+#define PRX_ID_PRODUCT "proxy"
+#define PRX_NAME_SHORT "Proxy"
+#define PRX_VERSION "3.0"
+#define PRX_NAME_VERSION "Proxy 3.0"
+#define PRX_NAME_SERVER "Proxy Server"
+#define PRX_NAME_FULL "Netscape Proxy Server"
+#define PRX_NAME_FULL_VERSION "Netscape Proxy Server 3.0"
+#define PRX_NAME_SERVICE "Netscape Proxy 3.0"
+#define PRX_EXE "ns-proxy.exe"
+#define PRX_EXE_START "proxy.exe"
+#define PRX_ID_SERVICE "proxy30"
+#define PRX_KEY_ROOT "Proxy\\3.0"
+#define PRX_SERVER_LST_NAME "proxy:Netscape Proxy Server"
+#define PRX_DIR_ROOT "proxy"
+#define PRX_NAME_UNINSTALL "Uninstall Proxy Server 3.0"
+
+/* Catalog IDs */
+#define CATALOG_SHORT_NAME "Catalog"
+#define CATALOG_SERVER_NAME "Netscape Catalog Server"
+#define CATALOG_SERVER_VERSION "1.0"
+#define CATALOG_SETUP_SHORT_NAME "Catalog Server"
+#define CATALOG_SETUP_NAME "Netscape Catalog Server 1.0"
+#define CATALOG_REGISTRY_ROOT_KEY "Catalog Server"
+#define CATALOG_EXE "ns-httpd.exe"
+#define CATALOG_DIR_ROOT "catalog"
+#define CATALOG_APP_PATH_KEY "ns-catalog"
+#define CATALOG_UNINSTALL_KEY "CatalogV1.0"
+#define CATALOG_SERVER_LST_NAME "catalog:Netscape Catalog Server"
+#define CATALOG_SERVICE_PREFIX "Netscape Catalog Server "
+#define CATALOG_README_ICON_NAME "Catalog README"
+#define CATALOG_UNINSTALL_ICON_NAME "Uninstall Catalog"
+#define CATALOG_PRODUCT_NAME "catalog"
+
+/* RDS IDs */
+#define RDS_SHORT_NAME "RDS"
+#define RDS_SERVER_NAME "Netscape RDS Server"
+#define RDS_SERVER_VERSION "1.0"
+#define RDS_SETUP_SHORT_NAME "RDS Server"
+#define RDS_SETUP_NAME "Netscape RDS Server 1.0"
+#define RDS_REGISTRY_ROOT_KEY "RDS Server"
+#define RDS_EXE "ns-httpd.exe"
+#define RDS_DIR_ROOT "rds"
+#define RDS_APP_PATH_KEY "ns-rds"
+#define RDS_UNINSTALL_KEY "RdsV1.0"
+#define RDS_SERVER_LST_NAME "rds:Netscape RDS Server"
+#define RDS_SERVICE_PREFIX "Netscape RDS Server "
+#define RDS_README_ICON_NAME "Rds README"
+#define RDS_UNINSTALL_ICON_NAME "Uninstall RDS"
+#define RDS_PRODUCT_NAME "rds"
+
+/* News IDs */
+#define NEWS_SHORT_NAME "News"
+/* Alpha #define NEWS_SERVER_NAME "Netscape News Server (tm) " */
+/* Alpha #define NEWS_SETUP_NAME "Netscape News Server (tm) " */
+/* Alpha #define NEWS_UNINSTALL_KEY "NewsV1.2" */
+#define NEWS_SERVER_NAME "Netscape News Server"
+#define NEWS_SERVER_VERSION "2.0"
+#define NEWS_UNINSTALL_KEY "NetscapeNewsV2.0"
+#define NEWS_SETUP_SHORT_NAME "News Server"
+#define NEWS_SETUP_NAME "Netscape News Server"
+#define NEWS_REGISTRY_ROOT_KEY "News Server" // key under SW/Netscape
+#define NEWS_EXE "nnrpd.exe" // value for <No name>
+#define NEWS_DIR_ROOT "news" // mess.dll in Reg, and in .lst
+#define NEWS_APP_PATH_KEY "innd.exe" // key under app paths
+#define NEWS_SERVER_LST_NAME "news:Netscape News Server"
+#define NEWS_SERVICE_PREFIX "Netscape News Server "
+#define NEWS_README_ICON_NAME "News Readme"
+#define NEWS_UNINSTALL_ICON_NAME "Uninstall News"
+
+/* Mail IDs */
+/* When we integrate the core & admin servers installation processes */
+/* we will use the code below instead of the section following it. */
+
+/*
+#define MAIL_SHORT_NAME "Mail"
+#define MAIL_SERVER_NAME "Netscape Mail Server (tm)"
+#define MAIL_SERVER_VERSION "2.0"
+#define MAIL_SETUP_SHORT_NAME "Mail Server"
+#define MAIL_SETUP_NAME "Netscape Mail Server (tm)"
+#define MAIL_REGISTRY_ROOT_KEY "Mail Server" // key under SW/Netscape
+#define MAIL_EXE "NetscapeMTA.exe" // value for <No name>
+#define MAIL_DIR_ROOT "mail" // mess.dll in Reg, and in .lst
+#define MAIL_APP_PATH_KEY "NetscapeMTA.exe" // key under app paths
+#define MAIL_UNINSTALL_KEY "MailV2.0"
+#define MAIL_SERVER_LST_NAME "mail:Netscape Mail Server"
+#define MAIL_SERVICE_PREFIX "Netscape Mail Server "
+#define MAIL_README_ICON_NAME "Mail Readme"
+#define MAIL_UNINSTALL_ICON_NAME "Uninstall Mail"
+*/
+
+#define MAIL_SHORT_NAME "Admin"
+#define MAIL_SERVER_NAME "Netscape Administration Server (tm)"
+#define MAIL_SERVER_VERSION "2.0"
+#define MAIL_SETUP_SHORT_NAME "Admin Server"
+#define MAIL_SETUP_NAME "Netscape Administration Server (tm)"
+#define MAIL_REGISTRY_ROOT_KEY "Mail Server" // key under SW/Netscape
+#define MAIL_EXE "NetscapeMTA.exe" // value for <No name>
+#define MAIL_DIR_ROOT "mail" // mess.dll in Reg, and in .lst
+#define MAIL_APP_PATH_KEY "NetscapeMTA.exe" // key under app paths
+#define MAIL_UNINSTALL_KEY "MailV2.0"
+#define MAIL_SERVER_LST_NAME "mail:Netscape Mail Server"
+#define MAIL_SERVICE_PREFIX "Netscape Admin Server "
+#define MAIL_README_ICON_NAME "Mail Readme"
+#define MAIL_UNINSTALL_ICON_NAME "Uninstall Mail"
+
+/* Synchronization Service IDs */
+#define DSS_SHORT_NAME "Directory Synchronization Service"
+#define DSS_SERVER_NAME "Netscape Directory Synchronization Service"
+#define DSS_SERVER_VERSION "7"
+#define DSS_SETUP_SHORT_NAME "Netscape Synchronization Service"
+#define DSS_SETUP_NAME "Netscape Directory Synchronization Service 7"
+#define DSS_REGISTRY_ROOT_KEY "Directory Synchronization Service"
+#define DSS_EXE "dssynch.exe"
+#define DSS_DIR_ROOT "dssynch"
+#define DSS_APP_PATH_KEY "dssynch.exe"
+#define DSS_CONFIG_TOOL "synchcfg.exe"
+#define DSS_UNINSTALL_KEY "SynchronizationV7"
+#define DSS_SERVER_LST_NAME "dssynch:Netscape Directory Synchronization Service"
+#define DSS_SERVICE_PREFIX "Netscape Directory Synchronization Service "
+#define DSS_README_ICON_NAME "Directory Synchronization Service README"
+#define DSS_CONFIG_ICON_NAME "Directory Synchronization Service Config"
+#define DSS_UNINSTALL_ICON_NAME "Uninstall Directory Synch Service"
+#define DSS_PRODUCT_NAME "dssynch"
+#define DSS_ID_PRODUCT DSS_PRODUCT_NAME
+#define DS_COMPONENT 1
+
+/* IDs needed for Directory 102/30 synchservice */
+#define ADMIN_APP_PATH_KEY "ns-admin.exe"
+#define ADMIN_EXE "ns-admin.exe"
+#define ADMIN_REGISTRY_ROOT_KEY "admin.exe"
+#define ADMSERV_COMPRESSED_FILE "admserv.z"
+#define APPBASE_DIR95 "Program Files"
+#define APPBASE_PATH "Netscape"
+#define APP_PATH_KEY "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths"
+#define BASE_REGISTRY95 "Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\"
+#define BASE_REGISTRYNT "Software\\Microsoft\\Windows NT\\CurrentVersion\\App Paths\\"
+#define CMS_COMPRESSED_FILE "certsvr.z"
+#define CMS_DIR_ROOT "cms"
+#define CMS_SHORT_NAME "Certificate Server"
+#define CMS_APP_PATH_KEY "libcms.dll"
+#define CMS_UNINSTALL_KEY "CertificateV1.0"
+#define CMS_UNINSTALL_ICON_NAME "Uninstall CertServer"
+#define UPGRADE_VER_1_ICON_NAME "Upgrade 1.1x Servers"
+#define CMS_README_ICON_NAME "CertServer README"
+#define CMS_REGISTRY_ROOT_KEY "Certificate Server"
+#define CMS_SERVER_NAME "Netscape Certificate Server"
+#define CMS_SERVER_LST_NAME "cms:Netscape Certificate Server"
+#define COMPANY_NAME "Netscape"
+#define DIR_HTTPD_SERVER DSS_DIR_ROOT
+#define DSS_COMPRESSED_FILE "dssynch.z"
+#define DSS_COMPRESSED_HELP_FILE "hdssynch.z"
+#define DS_COMPRESSED_FILE "slapd.z"
+#define ENTERPRISE_APP_PATH_KEY "ns-https.exe"
+#define ENTERPRISE_README_ICON_NAME "Enterprise README"
+#define ENTERPRISE_REGISTRY_ROOT_KEY "Https Server"
+#define ENTERPRISE_SERVER_LST_NAME "https:Netscape Enterprise Server"
+#define ENTERPRISE_SERVER_NAME "Netscape Enterprise Server"
+#define ENTERPRISE_UNINSTALL_KEY "EnterpriseV2.0"
+#define ENTERPRISE_UNINSTALL_ICON_NAME "Uninstall Enterprise"
+#define ENTERPRISE_DIR_ROOT "https"
+#define ENTERPRISE_SHORT_NAME "Enterprise"
+#define EXTRAS_COMPRESSED_FILE "extras.z"
+#define HTTP_SERVER_NAME DSS_DIR_ROOT
+#define INSTALL_COMPRESSED_FILE "install.z"
+#define LIVEWIRE_COMPRESSED_FILE "wire.z"
+#define NSAPI_COMPRESSED_FILE "nsapi.z"
+#define PERSONAL_DIR_ROOT "httpd"
+#define PERSONAL_SHORT_NAME "FastTrack"
+#define PLUGINS_COMPRESSED_FILE "plugins.z"
+#define REGISTRY_ROOT_PATH_KEY "Path"
+#define SERVDLLS_COMPRESSED_FILE "servdlls.z"
+#define SERVER_APP_PATH_KEY DSS_APP_PATH_KEY
+#define SERVER_COMPRESSED_FILE "server.z"
+#define SERVER_EXE DSS_EXE
+#define SERVER_LIST_NAME DSS_SERVER_LST_NAME
+#define SERVER_PRODUCT_NAME DSS_REGISTRY_ROOT_KEY
+#define SERVER_PRODUCT_VERSION DSS_VERSION_DEF
+#define SERVER_README_ICON_NAME DSS_README_ICON_NAME
+#define SERVER_UNINSTALL_ICON_NAME DSS_UNINSTALL_ICON_NAME
+#define SETUP_NAME DSS_SETUP_NAME
+#define SETUP_SHORT_NAME DSS_SHORT_NAME
+#define SETUP_TITLE_WIN95_BMP "titleNTb.bmp"
+#define SETUP_TITLE_WINNT_BMP "titledss.bmp"
+#define SOFTWARE_NETSCAPE_KEY "SOFTWARE\\Netscape"
+#define NETSCAPE_WEB_KEY "Netscape Web Servers"
+#define NETSCAPE_SERVICE_KEY "SYSTEM\\CurrentControlSet\\Services"
+
+#define SYSDLLS_COMPRESSED_FILE "ssdlls.z"
+#define UNINSTALL_KEY DSS_UNINSTALL_KEY
+#define UNINSTALL_REGISTRY95 "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\"
+// NT SNMP Extension Agent registry entries
+#define SNMP_SERVICE_KEY "SYSTEM\\CurrentControlSet\\Services\\SNMP\\Parameters\\ExtensionAgents\\"
+#define SNMP_AGENT_KEY "HTTP SNMP Agent"
+#define SNMP_CURRENT_VERSION "CurrentVersion"
+#define SNMP_PATHNAME "Pathname"
+#define SNMP_DLL_PATH "bin\\https\\httpsnmp.dll"
+#define SNMP_SERVICE_NAME "SNMP"
+// end synch service
+
+#define LICENSE_TXT "license.txt"
+
+#define UNINST_EXE "unslapd.exe"
+#define DSS_UNINST_EXE "unsynch.exe"
+
+#define DIR_ADMSERV_SERVER "admserv"
+
+#define COPY_READMEFILES "Copying readme files..."
+#define COPY_SYSDLLFILES "Copying Shared System files..."
+#define COPY_SERVDLLFILES "Copying Shared Server files..."
+#define COPY_SERVERFILES "Copying web server files..."
+#define COPY_ADMINFILES "Copying administration server files..."
+#define COPY_EXTRASFILES "Copying CGI Example and Log Analyzer Files..."
+#define COPY_INSTALLFILES "Copying Version 1.1x upgrade files..."
+#define COPY_NSAPIFILES "Copying NSAPI Library and Examples Files..."
+#define COPY_PLUGINSFILES "Copying Plug-in Files..."
+#define COPY_LIVEWIREFILES "Copying LiveWire Files..."
+#define INSTALL_LIVEWIREFILES "Installing LiveWire Server Extension files..."
+#define INSTALL_CMSFILES "Installing Certificate Server files..."
+#define INSTALL_DSFILES "Installing Directory Server files..."
+#define INSTALL_DSSFILES "Installing Directory Synchronization Service files..."
+#define INSTALL_DSSHELPFILES "Installing Directory Synchronization Service Help files..."
+
+#define STR_DEFTAB " "
+/* end temp ds102 IDs */
+
+
+/* Directory IDs */
+/* NOTES:
+ dboreham: I have no idea what is going on below:
+ we seem to be using two completely different sets of defines.
+ This needs sorted out
+ ryamaura: The first group is there only to ensure that
+ nothing breaks. The second group conforms to the rest of
+ the SuiteSpot servers and should be the final form.
+*/
+#define DS_SHORT_NAME "Directory Server"
+#define DS_SERVER_NAME "Netscape Directory Server"
+#define DS_SERVER_VERSION "7"
+#define DS_SETUP_SHORT_NAME "Directory Server"
+#define DS_SETUP_NAME "Netscape Directory Server 7"
+#define DS_REGISTRY_ROOT_KEY "Directory Server"
+#define DS_APP_PATH_KEY "ns-slapd.exe"
+#define DS_UNINSTALL_KEY "DirectoryV7"
+#define DS_SERVICE_PREFIX "Netscape Directory Server "
+#define DS_README_ICON_NAME "Directory Server 7 README"
+#define DS_UNINSTALL_ICON_NAME "Uninstall Directory Server 7"
+#define DS_PRODUCT_NAME "slapd"
+
+#define DS_ID_PRODUCT "slapd"
+#define DS_NAME_SHORT "Directory"
+#define DS_VERSION_OLD "3.0"
+#undef DS_VERSION
+#define DS_VERSION "7"
+#define DS_NAME_VERSION "Directory 7"
+#define DS_NAME_SERVER "Directory Server"
+#define DS_NAME_FULL "Netscape Directory Server"
+#define DS_NAME_FULL_VERSION "Netscape Directory Server 7"
+#define DS_NAME_SERVICE "Netscape Directory 7"
+#define DS_EXE "ns-slapd.exe"
+#define DS_EXE_START "slapd.exe"
+#define DS_ID_SERVICE "slapd"
+#define DS_KEY_ROOT "Directory\\7"
+#define DS_KEY_ROOT_OLD "Directory\\3.0"
+#define DS_SERVER_LST_NAME "slapd:Netscape Directory Server"
+#define DS_DIR_ROOT "slapd"
+#define DS_NAME_UNINSTALL "Uninstall Directory Server 7"
+#define DS_SNMP_PATH "bin\\slapd\\server\\ns-ldapagt.dll"
+#define DS_OPTIONS "Select the installation option from below"
+#define DS_OPTIONS_TITLE "Directory Server Installions Options"
+#define DS_GENERAL_OPTIONS DS_NAME_SERVER
+
+
+#ifndef DS_COMPONENT
+#define DS_COMPONENT 1
+#endif
+
+/* original definitions */
+// Upper-level registry parameters
+/* Note: the followin MCC_ are not defined when this file is included
+ for the NT setup.rul file. Beware of using the following definitions in NT
+ - nirmal
+*/
+#if defined(MCC_ADMSERV)
+
+#define SERVICE_NAME ADM_ID_SERVICE
+#define EVENTLOG_APPNAME ADM_NAME_VERSION
+#define SERVICE_EXE ADM_EXE
+#define SERVICE_PREFIX ADM_NAME_VERSION
+#define SVR_ID_PRODUCT ADM_ID_PRODUCT
+#define SVR_NAME_SHORT ADM_NAME_SHORT
+#define SVR_VERSION ADM_VERSION
+#define SVR_NAME_VERSION ADM_NAME_VERSION
+#define SVR_NAME_SERVER ADM_NAME_SERVER
+#define SVR_NAME_FULL ADM_NAME_FULL
+#define SVR_NAME_FULL_VERSION ADM_NAME_FULL_VERSION
+#define SVR_NAME_SERVICE ADM_NAME_SERVICE
+#define SVR_EXE ADM_EXE
+#define SVR_EXE_START ADM_EXE_START
+#define SVR_ID_SERVICE ADM_ID_SERVICE
+#define SVR_KEY_ROOT ADM_KEY_ROOT
+#define SVR_SERVER_LST_NAME ADM_SERVER_LST_NAME
+#define SVR_DIR_ROOT ADM_DIR_ROOT
+#define SVR_NAME_UNINSTALL ADM_NAME_UNINSTALL
+
+#elif defined(NS_ENTERPRISE)
+
+#define PRODUCT_KEY ENT_KEY_ROOT
+#define PRODUCT_NAME ENT_ID_PRODUCT
+#define EVENTLOG_APPNAME ENT_NAME_VERSION
+#define SERVICE_PREFIX ENT_NAME_VERSION
+#define SVR_ID_PRODUCT ENT_ID_PRODUCT
+#define SVR_NAME_SHORT ENT_NAME_SHORT
+#define SVR_VERSION ENT_VERSION
+#define SVR_NAME_VERSION ENT_NAME_VERSION
+#define SVR_NAME_SERVER ENT_NAME_SERVER
+#define SVR_NAME_FULL ENT_NAME_FULL
+#define SVR_NAME_FULL_VERSION ENT_NAME_FULL_VERSION
+#define SVR_NAME_SERVICE ENT_NAME_SERVICE
+#define SVR_EXE ENT_EXE
+#define SVR_EXE_START ENT_EXE_START
+#define SVR_ID_SERVICE ENT_ID_SERVICE
+#define SVR_KEY_ROOT ENT_KEY_ROOT
+#define SVR_SERVER_LST_NAME ENT_SERVER_LST_NAME
+#define SVR_DIR_ROOT ENT_DIR_ROOT
+#define SVR_NAME_UNINSTALL ENT_NAME_UNINSTALL
+
+#elif defined(NS_PROXY)
+
+#define PRODUCT_KEY PRX_KEY_ROOT
+#define PRODUCT_NAME PRX_ID_PRODUCT
+#define EVENTLOG_APPNAME PRX_NAME_VERSION
+#define SERVICE_PREFIX PRX_NAME_VERSION
+#define SVR_ID_PRODUCT PRX_ID_PRODUCT
+#define SVR_NAME_SHORT PRX_NAME_SHORT
+#define SVR_VERSION PRX_VERSION
+#define SVR_NAME_VERSION PRX_NAME_VERSION
+#define SVR_NAME_SERVER PRX_NAME_SERVER
+#define SVR_NAME_FULL PRX_NAME_FULL
+#define SVR_NAME_FULL_VERSION PRX_NAME_FULL_VERSION
+#define SVR_NAME_SERVICE PRX_NAME_SERVICE
+#define SVR_EXE PRX_EXE
+#define SVR_EXE_START PRX_EXE_START
+#define SVR_ID_SERVICE PRX_ID_SERVICE
+#define SVR_KEY_ROOT PRX_KEY_ROOT
+#define SVR_SERVER_LST_NAME PRX_SERVER_LST_NAME
+#define SVR_DIR_ROOT PRX_DIR_ROOT
+#define SVR_NAME_UNINSTALL PRX_NAME_UNINSTALL
+
+#elif defined(NS_CATALOG)
+
+#define PRODUCT_KEY CATALOG_REGISTRY_ROOT_KEY // CKA (should use key above)
+#define PRODUCT_NAME "catalog"
+#define EVENTLOG_APPNAME "NetscapeCatalog"
+#define SERVICE_PREFIX CATALOG_SERVICE_PREFIX
+
+#elif defined(NS_RDS)
+
+#define PRODUCT_KEY RDS_REGISTRY_ROOT_KEY // CKA (should use key above)
+#define PRODUCT_NAME "rds"
+#define EVENTLOG_APPNAME "NetscapeRds"
+#define SERVICE_PREFIX RDS_SERVICE_PREFIX
+
+#elif defined(NS_PERSONAL)
+
+#define PRODUCT_KEY PER_KEY_ROOT
+#define PRODUCT_NAME PER_ID_PRODUCT
+#define EVENTLOG_APPNAME PER_NAME_VERSION
+#define SERVICE_PREFIX PER_NAME_VERSION
+#define SVR_ID_PRODUCT PER_ID_PRODUCT
+#define SVR_NAME_SHORT PER_NAME_SHORT
+#define SVR_VERSION PER_VERSION
+#define SVR_NAME_VERSION PER_NAME_VERSION
+#define SVR_NAME_SERVER PER_NAME_SERVER
+#define SVR_NAME_FULL PER_NAME_FULL
+#define SVR_NAME_FULL_VERSION PER_NAME_FULL_VERSION
+#define SVR_NAME_SERVICE PER_NAME_SERVICE
+#define SVR_EXE PER_EXE
+#define SVR_EXE_START PER_EXE_START
+#define SVR_ID_SERVICE PER_ID_SERVICE
+#define SVR_KEY_ROOT PER_KEY_ROOT
+#define SVR_SERVER_LST_NAME PER_SERVER_LST_NAME
+#define SVR_DIR_ROOT PER_DIR_ROOT
+#define SVR_NAME_UNINSTALL PER_NAME_UNINSTALL
+
+#elif defined(NS_DSS)
+
+#define PRODUCT_KEY DSS_REGISTRY_ROOT_KEY // CKA (should use key above)
+#define PRODUCT_NAME "dssynch"
+#define EVENTLOG_APPNAME "NetscapeDirSynchService"
+#define SERVICE_PREFIX DSS_SERVICE_PREFIX
+
+#elif defined(NS_DS)
+
+#define PRODUCT_BIN "ns-slapd"
+#define SLAPD_EXE "slapd.exe"
+#define SERVICE_EXE SLAPD_EXE
+#define SLAPD_CONF "slapd.conf"
+#define SLAPD_DONGLE_FILE "password.dng"
+#define DONGLE_FILE_NAME SLAPD_DONGLE_FILE
+
+#define PRODUCT_KEY DS_REGISTRY_ROOT_KEY
+#define PRODUCT_NAME DS_ID_PRODUCT
+#define EVENTLOG_APPNAME DS_NAME_VERSION
+#define SERVICE_PREFIX DS_NAME_VERSION
+#define SVR_ID_PRODUCT DS_ID_PRODUCT
+#define SVR_NAME_SHORT DS_NAME_SHORT
+#define SVR_VERSION DS_VERSION
+#define SVR_VERSION_OLD DS_VERSION_OLD
+#define SVR_NAME_VERSION DS_NAME_VERSION
+#define SVR_NAME_SERVER DS_NAME_SERVER
+#define SVR_NAME_FULL DS_NAME_FULL
+#define SVR_NAME_FULL_VERSION DS_NAME_FULL_VERSION
+#define SVR_NAME_SERVICE DS_NAME_SERVICE
+#define SVR_EXE DS_EXE
+#define SVR_EXE_START DS_EXE_START
+#define SVR_ID_SERVICE DS_ID_SERVICE
+#define SVR_KEY_ROOT DS_KEY_ROOT
+#define SVR_SERVER_LST_NAME DS_SERVER_LST_NAME
+#define SVR_DIR_ROOT DS_DIR_ROOT
+#define SVR_NAME_UNINSTALL DS_NAME_UNINSTALL
+#define SNMP_PATH DS_SNMP_PATH
+
+#elif defined(NS_SETUP)
+#else
+
+#error SERVER TYPE NOT DEFINED
+
+#endif /* MCC_ADMSERV */
+
+// Do not move this section. This has to come immediately after the
+// ifdef section above - Nirmal
+//
+#if defined(MCC_NEWS) // Nirmal : added for news 2/21/95.
+#define PRODUCT_BIN "innd" // Redefine the generic ns-httpd.exe
+#define PRODUCT_KEY NEWS_REGISTRY_ROOT_KEY // CKA (should use key above)
+#define PRODUCT_NAME "news"
+#define EVENTLOG_APPNAME "NetscapeNews"
+#define SERVICE_PREFIX NEWS_SERVICE_PREFIX
+
+#endif
+
+
+#define VERSION_KEY "CurrentVersion"
+
+// Configuration Parameters
+
+#define SOFTWARE_KEY "Software"
+
+// NT Perfmon DLL entries
+#define KEY_PERFORMANCE "Performance"
+#define PERF_MICROSOFT_KEY "SOFTWARE\\Microsoft\\Windows NT\\Perflib\\009"
+#define PERF_COUNTER_KEY "Counter"
+#define PERF_HELP_KEY "Help"
+#define PERF_OPEN_FUNCTION "OpenNSPerformanceData"
+#define PERF_COLLECT_FUNCTION "CollectNSPerformanceData"
+#define PERF_CLOSE_FUNCTION "CloseNSPerformanceData"
+#define PERF_CTR_INI "nsctrs.ini"
+
+// this section used to be in confhttp.h. TODO: convert to SVR_ format -ahakim
+#if defined(NS_CATALOG)
+#define SERVER_REGISTRY_ROOT_KEY CATALOG_REGISTRY_ROOT_KEY
+#define SERVER_APP_PATH_KEY CATALOG_APP_PATH_KEY
+#define SERVER_DIR_ROOT CATALOG_DIR_ROOT
+#define SERVER_SETUP_NAME CATALOG_SETUP_NAME
+#define SERVER_SHORT_NAME CATALOG_SHORT_NAME
+
+#elif defined(NS_RDS)
+#define SERVER_REGISTRY_ROOT_KEY RDS_REGISTRY_ROOT_KEY
+#define SERVER_APP_PATH_KEY RDS_APP_PATH_KEY
+#define SERVER_DIR_ROOT RDS_DIR_ROOT
+#define SERVER_SETUP_NAME RDS_SETUP_NAME
+#define SERVER_SHORT_NAME RDS_SHORT_NAME
+
+#endif
diff --git a/include/nt/resource.h b/include/nt/resource.h
new file mode 100644
index 00000000..905cbeb6
--- /dev/null
+++ b/include/nt/resource.h
@@ -0,0 +1,36 @@
+/** BEGIN COPYRIGHT BLOCK
+ * Copyright 2001 Sun Microsystems, Inc.
+ * Portions copyright 1999, 2001-2003 Netscape Communications Corporation.
+ * All rights reserved.
+ * END COPYRIGHT BLOCK **/
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by netsite.rc
+//
+#define IDB_BITMAP1 101
+#define DLG_STARTUP_ERROR 101
+#define IDI_NETSITE 102
+#define IDI_ICON1 104
+#define DLG_GETPASSWORD 106
+#define IDI_ICON2 107
+#define IDD_PASSWORD 108
+#define IDI_KEY 109
+#define IDD_PIN 110
+#define IDEDIT 1000
+#define IDC_ERRORLOG 1001
+#define ID_EXIT 1001
+#define IDC_ERRORMSG 1002
+#define IDC_STARTUP_ERROR 1003
+#define IDC_STATIC -1
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 110
+#define _APS_NEXT_COMMAND_VALUE 40001
+#define _APS_NEXT_CONTROL_VALUE 1002
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
+