windows-nt/Source/XPSP1/NT/termsrv/clcreator/otnboot.h
2020-09-26 16:20:57 +08:00

1016 lines
26 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++
Copyright (c) 1993 Microsoft Corporation
Module Name:
otnboot.H
Abstract:
Constant definitions for the Net Client Disk Utility.
Author:
Bob Watson (a-robw)
Revision History:
17 Feb 94 Written
--*/
#ifndef _otnboot_H_
#define _otnboot_H_
#include <winioctl.h>
#include <nddeapi.h>
#ifndef DS_3DLOOK
#define DS_3DLOOK 0x0004L
#endif
#ifdef JAPAN
#define NCDU_DOSV_CHECK 1000
#endif
//Note: above NCDU_DOSV_CHECK should be added to file otnbtdlg.h, but that file cannot
// be checked in to the SLM, so moved here.
//
//
// Application specific windows messages
//
#define NCDU_SHOW_SW_CONFIG_DLG (WM_USER+11)
#define NCDU_SHOW_TARGET_WS_DLG (WM_USER+12)
#define NCDU_SHOW_SERVER_CFG_DLG (WM_USER+13)
#define NCDU_SHOW_CONFIRM_DLG (WM_USER+14)
#define NCDU_SHOW_CREATE_DISKS_DLG (WM_USER+15)
#define NCDU_SHOW_SHARE_NET_SW_DLG (WM_USER+16)
#define NCDU_SHOW_COPYING_DLG (WM_USER+17)
#define NCDU_SHOW_EXIT_MESSAGE_DLG (WM_USER+18)
#define NCDU_SHOW_COPY_ADMIN_UTILS (WM_USER+19)
#define NCDU_CLEAR_DLG (WM_USER+20)
#define NCDU_REGISTER_DLG (WM_USER+21)
#define NCDU_UPDATE_WINDOW_POS (WM_USER+22)
//
// resource constant definitions
//
//#define NCDU_APP_ICON 0x7000
#define NCDU_ID_ABOUT 0xFF10
#define STRING_BASE 0x8000
#ifdef TERMSRV
#define WFC_STRING_BASE 0x9000
#endif // TERMSRV
#define NCDU_CANCEL_CAPTION (STRING_BASE + 1)
#define NCDU_CANCEL_PROMPT (STRING_BASE + 2)
#define NCDU_MAKING_FLOPPIES (STRING_BASE + 3)
#define NCDU_LANMAN_MESSAGE (STRING_BASE + 4)
#define NCDU_COPYING_TO_SHARE (STRING_BASE + 5)
#define NCDU_INSERT_BOOTDISK_A (STRING_BASE + 6)
#define NCDU_INSERT_BOOTDISK_B (STRING_BASE + 7)
#define NCDU_SHARE_PATH_NOW (STRING_BASE + 8)
#define NCDU_EXIT_SHARE_PATH (STRING_BASE + 9)
#define NCDU_UNABLE_READ_DIR (STRING_BASE +10)
#define NCDU_PATH_NOT_DIR (STRING_BASE +11)
#define NCDU_PATH_CANNOT_BE_BLANK (STRING_BASE + 12)
#define NCDU_SHARING_DIR (STRING_BASE +13)
#define NCDU_NOT_REAL (STRING_BASE +14)
#define NCDU_NOT_DIST_TREE (STRING_BASE +15)
#define NCDU_NO_SHARE_NAME (STRING_BASE +16)
#define NCDU_UNKNOWN_FLOPPY (STRING_BASE +17)
#define NCDU_UNABLE_CONNECT_REG (STRING_BASE +18)
#define NCDU_INVALID_MACHINENAME (STRING_BASE +19)
#define NCDU_COPY_TO_FLOPPY (STRING_BASE +20)
#define NCDU_DEST_NOT_FLOPPY (STRING_BASE +21)
#define NCDU_INSUFFICIENT_DISK_SPACE (STRING_BASE +22)
#define NCDU_DRIVE_NOT_BOOTDISK (STRING_BASE +23)
#define NCDU_UNABLE_SHARE_UNC (STRING_BASE +24)
#define NCDU_UNABLE_COPY_CLIENTS (STRING_BASE+25)
#define NCDU_RU_SURE (STRING_BASE + 26)
#define NCDU_BAD_SUBNET_MASK (STRING_BASE + 27)
#define NCDU_BAD_IP_ADDR (STRING_BASE + 28)
#define NCDU_FLOPPY_NOT_COMPLETE (STRING_BASE+ 29)
#define NCDU_CHECK_PROTOCOL_INI (STRING_BASE + 30)
#define NCDU_NO_CLIENTS_SELECTED (STRING_BASE + 31)
#define NCDU_UNABLE_SHARE_DIR (STRING_BASE + 32)
#define NCDU_BAD_DEFAULT_GATEWAY (STRING_BASE + 33)
#define NCDU_COPY_NET_ADMIN (STRING_BASE + 34)
#define NCDU_ERROR_NOMEMORY (STRING_BASE + 35)
#define NCDU_USERNAME_ACCESS (STRING_BASE + 36)
#define NCDU_UNSUP_PROTOCOL (STRING_BASE + 37)
#define NCDU_NO_MEDIA (STRING_BASE + 38)
#define NCDU_CONFIRM_FLOPPY (STRING_BASE + 39)
#define NCDU_COPY_COMPLETE (STRING_BASE + 40)
#define NCDU_FLOPPY_COMPLETE (STRING_BASE + 41)
#define NCDU_NETUTILS_SHARED (STRING_BASE + 42)
#define NCDU_NETBEUI_NOT_ROUT (STRING_BASE + 43)
#define NCDU_CANNOT_SHARE_REMDIR (STRING_BASE + 46)
#define NCDU_SHARE_IS_NOT_USED (STRING_BASE + 47)
#define NCDU_SHARE_IS_CLIENT_TREE (STRING_BASE + 48)
#define NCDU_SHARE_IS_SERVER_TOOLS (STRING_BASE + 49)
#define NCDU_SHARE_IS_OTHER_DIR (STRING_BASE + 50)
#define NCDU_SERVER_NOT_PRESENT (STRING_BASE + 51)
#define NCDU_NO_SERVER (STRING_BASE + 52)
#define NCDU_NOT_DOS_SHARE (STRING_BASE + 53)
#define NCDU_NOT_TOOL_TREE (STRING_BASE + 54)
#define NCDU_BROWSE_TOOL_DIST_PATH (STRING_BASE + 55)
#define NCDU_BROWSE_CLIENT_DIST_PATH (STRING_BASE + 56)
#define NCDU_BROWSE_COPY_DEST_PATH (STRING_BASE + 57)
#define NCDU_FINDING_TOOLS_PATH (STRING_BASE + 58)
#define NCDU_MAKE_COMP_NAME (STRING_BASE + 59)
#define NCDU_DISK_NOT_DONE (STRING_BASE + 60)
#define NCDU_DRIVE_NOT_AVAILABLE (STRING_BASE + 61)
#define NCDU_UNABLE_GET_PATH_INFO (STRING_BASE + 62)
#define NCDU_INSUF_MEM_AT_BOOT (STRING_BASE + 63)
#define NCDU_NW_LINK_TRANSPORT (STRING_BASE + 66)
#define NCDU_TCP_IP_TRANSPORT (STRING_BASE + 67)
#define NCDU_NETBEUI_TRANSPORT (STRING_BASE + 68)
#define NCDU_SYSTEM_MAY_NOT_FIT (STRING_BASE + 69)
#define NCDU_SMALL_DISK_WARN (STRING_BASE + 70)
#define NCDU_CLEAN_DISK_REQUIRED (STRING_BASE + 71)
#define FORMAT_BASE 0x9000
#define SZ_APP_TITLE (FORMAT_BASE + 1)
#define FMT_CREATE_SHARE_ERROR (FORMAT_BASE + 2)
#define CSZ_ABOUT_ENTRY (FORMAT_BASE + 3)
#define FMT_LOAD_NET_CLIENT (FORMAT_BASE + 4)
#define FMT_CONFIRM_TARGET (FORMAT_BASE + 5)
#define FMT_INSTALL_TARGET_CLIENT (FORMAT_BASE + 6)
#define FMT_LOGON_USERNAME (FORMAT_BASE + 7)
#define FMT_PROMPT_USERNAME (FORMAT_BASE + 8)
#define FMT_CONFIRM_FLOPPY_IP (FORMAT_BASE + 9)
#define FMT_USING_DHCP (FORMAT_BASE + 10)
#define FMT_WORKING (FORMAT_BASE + 11)
#define FMT_PERCENT_COMPLETE (FORMAT_BASE + 12)
#define FMT_ZERO_PERCENT_COMPLETE (FORMAT_BASE + 13)
#define FMT_PREPARE_TO_COPY (FORMAT_BASE + 14)
#define FMT_CLIENT_DISK_AND_DRIVE (FORMAT_BASE + 16)
#define FMT_CLIENT_DISPLAY_NAME (FORMAT_BASE + 17)
#define FMT_COPY_COMPLETE_STATS (FORMAT_BASE + 18)
#define FMT_INSERT_FLOPPY (FORMAT_BASE + 19)
#define FMT_1_DISK_REQUIRED (FORMAT_BASE + 20)
#define FMT_N_DISKS_REQUIRED (FORMAT_BASE + 21)
#define FMT_INTERNAL_BUFFER (FORMAT_BASE + 22)
#define FMT_CONNECTING_COMMENT (FORMAT_BASE + 23)
#define FMT_RUNNING_SETUP_COMMENT (FORMAT_BASE + 24)
#define FMT_OTN_COMMENT (FORMAT_BASE + 25)
#define FMT_OTN_BOOT_FILES (FORMAT_BASE + 26)
#define FMT_K_BYTES (FORMAT_BASE + 27)
#define FMT_M_BYTES (FORMAT_BASE + 28)
#define FMT_CLIENT_INFO_DISPLAY (FORMAT_BASE + 29)
#define FMT_NONE (FORMAT_BASE + 30)
#define FMT_SHARE_REMARK (FORMAT_BASE + 31)
#define FMT_SHARE_TOOLS_REMARK (FORMAT_BASE + 32)
#define FMT_SHARE_IS_CLIENT_TREE (FORMAT_BASE + 33)
#define FMT_SHARE_IS_ALREADY_USED (FORMAT_BASE + 34)
#define CSZ_SETUP_ADM (FORMAT_BASE + 35)
#define FMT_SHARE_IS_TOOLS_DIR (FORMAT_BASE + 36)
#define CSZ_SYSTEM_REGISTRY (FORMAT_BASE + 37)
#define CSZ_SHARED_DIRS (FORMAT_BASE + 38)
#define CSZ_HARD_DISK_DIRS (FORMAT_BASE + 39)
#define CSZ_CD_ROM (FORMAT_BASE + 40)
#define CSZ_LOCAL_MACHINE (FORMAT_BASE + 41)
#define CSZ_DOMAIN_ADMINS (FORMAT_BASE + 43)
#define CSZ_WINDOWS_FOR_WORKGROUPS (FORMAT_BASE + 44)
#define CSZ_LAN_MANAGER (FORMAT_BASE + 45)
#define CSZ_MS_NETWORK_CLIENT (FORMAT_BASE + 46)
#define CSZ_BROWSE_DIST_PATH_TITLE (FORMAT_BASE + 47)
#define CSZ_BROWSE_DEST_PATH_TITLE (FORMAT_BASE + 48)
#define CSZ_BROWSE_COPY_DEST_PATH_TITLE (FORMAT_BASE + 49)
#define CSZ_NW_LINK_PROTOCOL (FORMAT_BASE + 50)
#define CSZ_TCP_IP_PROTOCOL (FORMAT_BASE + 51)
#define CSZ_NETBEUI_PROTOCOL (FORMAT_BASE + 52)
#define CSZ_COPYING_NET_UTILS (FORMAT_BASE + 53)
#define CSZ_UNABLE_COPY (FORMAT_BASE + 54)
#define CSZ_COPY_ERROR (FORMAT_BASE + 55)
#define CSZ_ABOUT_TITLE (FORMAT_BASE + 56)
#define CSZ_35_HD (FORMAT_BASE + 57)
#define CSZ_525_HD (FORMAT_BASE + 58)
#define CSZ_DEFAULT_CLIENT_SHARE (FORMAT_BASE + 59)
#define CSZ_WINDOWS_95 (FORMAT_BASE + 60)
#define CSZ_WINDOWS_NT (FORMAT_BASE + 61)
#ifdef JAPAN
#define FMT_LOAD_NET_CLIENT1 (FORMAT_BASE + 62)
#define FMT_LOAD_NET_CLIENT2 (FORMAT_BASE + 63)
#define FMT_LOAD_NET_CLIENT2_TITLE (FORMAT_BASE + 64)
#define FMT_LOAD_AUTOEXEC_ECHO (FORMAT_BASE + 65)
#define FMT_OTN_BOOT_FILES_DOSV (FORMAT_BASE + 66)
#endif
#ifdef TERMSRV
#define FMT_COPY_COMPLETE_STATS1 (FORMAT_BASE + 67)
#define FMT_COPY_COMPLETE_STATS2 (FORMAT_BASE + 68)
#endif // TERMSRV
#define DISK_FORMAT_BASE 0xA000
#define IDS_APP_NAME (DISK_FORMAT_BASE + 1)
#define IDS_FMIFSLOADERR (DISK_FORMAT_BASE + 2)
#define IDS_DISKCOPYCONFIRM (DISK_FORMAT_BASE + 3)
#define IDS_DISKCOPYCONFIRMTITLE (DISK_FORMAT_BASE + 4)
#define IDS_FFERR (DISK_FORMAT_BASE + 5)
#define IDS_FORMATTINGDEST (DISK_FORMAT_BASE + 6)
#define IDS_COPYINGDISKTITLE (DISK_FORMAT_BASE + 7)
#define IDS_QUICKFORMATTINGTITLE (DISK_FORMAT_BASE + 8)
#define IDS_PERCENTCOMPLETE (DISK_FORMAT_BASE + 9)
#define IDS_COPYDISK (DISK_FORMAT_BASE + 10)
#define IDS_INSERTDEST (DISK_FORMAT_BASE + 11)
#define IDS_INSERTSRC (DISK_FORMAT_BASE + 12)
#define IDS_INSERTSRCDEST (DISK_FORMAT_BASE + 13)
#define IDS_FFERR_INCFS (DISK_FORMAT_BASE + 14)
#define IDS_FFERR_ACCESSDENIED (DISK_FORMAT_BASE + 15)
#define IDS_FFERR_DISKWP (DISK_FORMAT_BASE + 16)
#define IDS_FFERR_CANTLOCK (DISK_FORMAT_BASE + 17)
#define IDS_FFERR_CANTQUICKF (DISK_FORMAT_BASE + 18)
#define IDS_FFERR_SRCIOERR (DISK_FORMAT_BASE + 19)
#define IDS_FFERR_DSTIOERR (DISK_FORMAT_BASE + 20)
#define IDS_FFERR_SRCDSTIOERR (DISK_FORMAT_BASE + 21)
#define IDS_FFERR_GENIOERR (DISK_FORMAT_BASE + 22)
#define IDS_FFERR_MEDIASENSE (DISK_FORMAT_BASE + 23)
#define IDS_FFERR_BADLABEL (DISK_FORMAT_BASE + 25)
#define IDS_COPYSRCDESTINCOMPAT (DISK_FORMAT_BASE + 26)
#define IDS_FORMATERR (DISK_FORMAT_BASE + 27)
#define IDS_FORMATQUICKFAILURE (DISK_FORMAT_BASE + 28)
//#define IDS_FORMATERRMSG (DISK_FORMAT_BASE + 29)
//#define IDS_FORMATCURERR (DISK_FORMAT_BASE + 30)
#define IDS_FORMATCOMPLETE (DISK_FORMAT_BASE + 31)
#define IDS_FORMATANOTHER (DISK_FORMAT_BASE + 32)
#define IDS_CORRECT_FMT_ERROR (DISK_FORMAT_BASE + 33)
#define IDS_COPYERROR (DISK_FORMAT_BASE + 100)
#define FUNC_COPY 1
#define FUNC_MOVE 2
#define FUNC_DELETE 3
#define FUNC_RENAME 4
#define FUNC_SETDRIVE 5
#define FUNC_EXPAND 6
#define FUNC_LABEL 7
//
// Application constant definitions
//
#define NCDU_CANCEL_STYLE (MB_ICONQUESTION | MB_YESNOCANCEL | MB_TASKMODAL)
#define MAX_PATH_BYTES (MAX_PATH * sizeof(TCHAR))
#define SMALL_BUFFER_SIZE 4096
#define MEDIUM_BUFFER_SIZE (SMALL_BUFFER_SIZE * 4)
#define MAX_EXITMSG 32
#define MAX_SHARENAME 16
#define NETCARD_KEY_SIZE 64
#define MAXMESSAGELEN 80
#define MAXTITLELEN 32
#define MAXLABELLEN 11
//
// Common Message Box Button configurations
//
#define MB_OK_TASK_EXCL (MB_OK | MB_ICONEXCLAMATION | MB_TASKMODAL)
#define MB_OK_TASK_INFO (MB_OK | MB_ICONINFORMATION | MB_TASKMODAL)
#define MB_OKCANCEL_TASK_EXCL (MB_OKCANCEL | MB_ICONEXCLAMATION | MB_TASKMODAL)
#define MB_OKCANCEL_TASK_INFO (MB_OKCANCEL | MB_ICONINFORMATION | MB_TASKMODAL)
#define MB_OKCANCEL_TASK_EXCL_DEF2 (MB_OKCANCEL | MB_ICONEXCLAMATION | MB_TASKMODAL | MB_DEFBUTTON2)
// button state definitions
#define CHECKED 1
#define UNCHECKED 0
// Load Client List Type values
#define CLT_ALL_BUT_HIDDEN 0
#define CLT_OTNBOOT_FLOPPY 1
#define CLT_FLOPPY_INSTALL 2
#define NCDU_HELP_HOT_KEY 0x0BEE // whotkey id for f1 help
// Copy Dir dwFlags values:
#define CD_FLAGS_COPY_SUB_DIR 0x00000001 // copies all sub dir's as well
#define CD_FLAGS_DONT_CREATE 0x00000002 // default is to create dirs as needed
#define CD_FLAGS_IGNORE_ATTR 0x00000004 // ignore attributes
#define CD_FLAGS_COPY_ATTR 0x00000008 // copy attributes as well (default
// is for dest fils to be normal)
#define CD_FLAGS_IGNORE_ERROR 0x00000010 // continue with copy even if errors occur
#define CD_FLAGS_LONG_NAMES 0x00000040 // allows names longer than 8.3
//
// Main Window Extra Bytes
//
#define MAINWND_EXTRA_BYTES 0
//
// Macro definitions
//
#define FREE_IF_ALLOC(x) if (x != NULL) GlobalFree(x)
#define BOOL_TO_STATUS(x) (x ? ERROR_SUCCESS : GetLastError())
#ifndef CLEAR_FIRST_FOUR_BYTES
#define CLEAR_FIRST_FOUR_BYTES(x) *(DWORD *)(x) = 0L
#endif
//
// Data structure Definitions
//
typedef enum _INSTALL_TYPE {
FloppyDiskInstall = 0,
OverTheNetInstall,
CopyNetAdminUtils,
ShowRemoteBootInfo} INSTALL_TYPE;
typedef enum _SOURCE_TYPE {
SourceUndef = 0,
ServerShare,
DirectoryPath} SOURCE_TYPE;
typedef enum _SHARE_TYPE {
ShareExisting = 0,
CopyAndShare} SHARE_TYPE;
typedef struct _NETCARD_INFO {
TCHAR szInf[MAX_PATH+1]; // inf file name
TCHAR szName[MAX_PATH+1]; // description
TCHAR szDriverFile[MAX_PATH+1]; // device driver FileName
TCHAR szInfKey[NETCARD_KEY_SIZE]; // Netcard Key Name
TCHAR szDeviceKey[NETCARD_KEY_SIZE]; // netcard device key
TCHAR szNifKey[NETCARD_KEY_SIZE]; // Netcard Info Key
BOOL bTokenRing; // TRUE = Token Ring Netcard
} NETCARD_INFO, *PNETCARD_INFO;
typedef struct _PROTOCOL_INFO {
TCHAR szName[MAX_PATH+1];
TCHAR szKey[MAX_PATH+1];
TCHAR szDir[MAX_PATH+1];
} PROTOCOL_INFO, *PPROTOCOL_INFO;
typedef struct _TCPIP_INFO {
USHORT IpAddr[4];
USHORT SubNetMask[4];
USHORT DefaultGateway[4];
} TCPIP_INFO, *PTCPIP_INFO;
typedef enum _MACHINE_TYPE {
UnknownSoftwareType = 0,
AdvancedServer,
NtWorkstation} MACHINE_TYPE;
typedef struct _NCDU_DATA {
MACHINE_TYPE mtLocalMachine;
HKEY hkeyMachine;
INSTALL_TYPE itInstall;
BOOL bUseExistingPath;
SHARE_TYPE shShareType;
TCHAR szDistShowPath[MAX_PATH+1];
TCHAR szDistPath[MAX_PATH+1];
TCHAR szDestPath[MAX_PATH+1];
SOURCE_TYPE stDistPathType;
MEDIA_TYPE mtBootDriveType;
BOOL bRemoteBootReqd;
NETCARD_INFO niNetCard;
TCHAR szBootFilesPath[MAX_PATH+1];
PROTOCOL_INFO piFloppyProtocol;
PROTOCOL_INFO piTargetProtocol;
TCHAR szTargetSetupCmd[MAX_PATH+1];
TCHAR szComputerName[MAX_COMPUTERNAME_LENGTH+1];
TCHAR szUsername[MAX_USERNAME+1];
TCHAR szDomain[MAX_DOMAINNAME+1];
BOOL bUseDhcp;
TCPIP_INFO tiTcpIpInfo;
TCHAR szFloppyClientName[MAX_PATH+1];
UINT uExitMessages[MAX_EXITMSG];
} NCDU_DATA, *PNCDU_DATA;
typedef struct _COPY_FILE_DLG_STRUCT {
LPTSTR szDisplayName;
LPTSTR szSourceDir;
LPTSTR szDestDir;
DWORD dwCopyFlags;
DWORD dwTotalSize;
DWORD dwFilesCopied;
DWORD dwDirsCreated;
} CF_DLG_DATA, *PCF_DLG_DATA;
typedef struct _DIR_BROWSER_STRUCT {
DWORD dwTitle; // dialog box title Resource ID: 0="Directory Browser"
LPTSTR szPath; // initial path in and resulting path out
DWORD Flags; // see below
} DB_DATA, *PDB_DATA;
#define PDB_FLAGS_NOCHECKDIR 0x00000001 // allow non-existent paths
typedef struct _SHARE_PATH_DLG_STRUCT {
LPWSTR szServer;
LPWSTR szPath;
LPWSTR szShareName;
LPWSTR szRemark;
} SPS_DATA, *PSPS_DATA;
typedef struct _FIND_DIST_TREE_STRUCT {
LPTSTR szPathBuffer; // buffer to load found path in
DWORD dwPathBufferLen; // size of path buffer (above)
PLONG plPathType; // pointer to buffer recieving path type
DWORD dwSearchType; // search type (see flags below)
} FDT_DATA, *PFDT_DATA;
#pragma pack(1)
typedef struct _DOS_BOOT_SECTOR {
BYTE bsJump[3];
CHAR bsOemName[8];
WORD bsBytesPerSec;
BYTE bsSecPerClust;
WORD bsResSectors;
BYTE bsFats;
WORD bsRootDirEnts;
WORD bsSectors;
BYTE bsMedia;
WORD bsFatSecs;
WORD bsSecsPerTrack;
WORD bsHeads;
DWORD bsHiddenSecs;
DWORD bsHugeSectors;
BYTE bsDriveNumber;
BYTE bsReserved1;
BYTE bsBootSignature;
DWORD bsVolumeId;
CHAR bsVolumeLabel[11];
CHAR bsFileSysType[8];
BYTE bsBootSectorBytes[1];
} DOS_BOOT_SECTOR, *PDOS_BOOT_SECTOR;
#pragma pack()
//
#define FDT_CLIENT_TREE (0x00000001)
#define FDT_TOOLS_TREE (0x00000002)
//
// Directory Browser Flags
//
#define DBS_VALIDATE_PATH 0x00000001 // only allow valid paths
#define DBS_CLIENT_PATH 0x00000003 // only allow valid dist. paths
// global variables
// these are allocated and initialized in otnboot.c
//
extern PNCDU_DATA pAppInfo;
#ifdef JAPAN
extern USHORT usLangID;
// fixed kkntbug #12382
// NCAdmin:"[] Make Japanese startup disks" is not functioning.
extern BOOL bJpnDisk;
#endif
//
// external function definitions
//
//
// *** UTILS.C ***
//
BOOL
GetShareFromUnc (
IN LPCTSTR szPath,
OUT LPTSTR szShare
);
BOOL
GetNetPathInfo (
IN LPCTSTR szPath,
OUT LPTSTR szServer,
OUT LPTSTR szRemotePath
);
BOOL
ComputerPresent (
IN LPCTSTR szMachine
);
BOOL
GetServerFromUnc (
IN LPCTSTR szPath,
OUT LPTSTR szServer
);
BOOL
MatchFirst (
IN LPCTSTR szStringA,
IN LPCTSTR szStringB
);
BOOL
LookupLocalShare (
IN LPCTSTR szDrivePath,
IN BOOL bExactMatch,
OUT LPTSTR szLocalPath,
IN PDWORD pdwBuffLen
);
BOOL
LookupRemotePath (
IN LPCTSTR szDrivePath,
OUT LPTSTR szRemotePath,
IN PDWORD pdwBuffLen
);
BOOL
OnRemoteDrive (
IN LPCTSTR szPath
);
DWORD
ComputeFreeSpace (
IN LPCTSTR szPath
);
DWORD
GetSizeFromInfString (
IN LPCTSTR szString
);
BOOL
IsShareNameUsed (
IN LPCTSTR szServerName,
IN LPCTSTR szShareName,
IN OUT PDWORD pdwType,
IN OUT LPTSTR pszPath
);
BOOL
SavePathToRegistry (
LPCTSTR szPath,
LPCTSTR szServerKey,
LPCTSTR szShareKey
);
BOOL
Dlg_WM_SYSCOMMAND (
IN HWND hwndDlg,
IN WPARAM wParam,
IN LPARAM lParam
);
LRESULT
Dlg_WM_MOVE (
IN HWND hwndDlg,
IN WPARAM wParam,
IN LPARAM lParam
);
BOOL
Dlg_WM_PAINT (
IN HWND hwndDlg,
IN WPARAM wParam,
IN LPARAM lParam
);
DWORD
QuietGetFileAttributes (
IN LPCTSTR szFileName
);
DWORD
QuietGetPrivateProfileString (
IN LPCTSTR lpszSection,
IN LPCTSTR lpszKey,
IN LPCTSTR lpszDefault,
OUT LPTSTR lpszReturnBuffer,
IN DWORD cchReturnBuffer,
IN LPCTSTR lpszFile
);
BOOL
GetSizeOfDirs (
IN LPCTSTR szPath,
IN BOOL bFlags,
IN OUT PDWORD pdwSize
);
#define GSOD_INCLUDE_SUBDIRS 0x00000001
BOOL
MediaPresent (
IN LPCTSTR szPath,
IN BOOL bCheckFormat
);
LPCTSTR
GetKeyFromEntry (
IN LPCTSTR szEntry
);
LPCTSTR
GetItemFromEntry (
IN LPCTSTR szEntry,
IN DWORD dwItem
);
LPCTSTR
GetFileNameFromEntry (
IN LPCTSTR szEntry
);
BOOL
FileExists (
IN LPCTSTR szFileName
);
//
// *** FindClnt.C ***
//
LONG
GetDistributionPath (
IN HWND hwndDlg, // handle to dialog box window
IN DWORD dwSearchType, // type of dir to find: Client/tools
IN OUT LPTSTR szPath, // buffer to return path in (Req'd)
IN DWORD dwPathLen, // size of path buffer in chars
IN PLONG plPathType // pointer to buffer recieving path type (opt)
);
// path type
#define NCDU_NO_CLIENT_PATH_FOUND 0x00000000
#define NCDU_PATH_FROM_REGISTRY 0x00000001
#define NCDU_LOCAL_SHARE_PATH 0x00000002
#define NCDU_HARD_DRIVE_PATH 0x00000004
#define NCDU_CDROM_PATH 0x00000008
#ifdef JAPAN
// fixed kkntbug #11940
// Network client administrator can not make install disks on PC with C drive as FD
#define NCDU_LOGICAL_DRIVE_MASK 0x00000001
#endif
INT_PTR CALLBACK
FindClientsDlgProc (
IN HWND hwndDlg,
IN UINT message,
IN WPARAM wParam,
IN LPARAM lParam
);
//
// ShareNet.C
//
INT_PTR CALLBACK
ShareNetSwDlgProc (
IN HWND hwndDlg,
IN UINT message,
IN WPARAM wParam,
IN LPARAM lParam
);
//
//
//
LONG
CreateDirectoryFromPath (
IN LPCTSTR szPath,
IN LPSECURITY_ATTRIBUTES lpSA
);
BOOL
IsPathADir (
IN LPCTSTR szPath
);
int
PositionWindow (
IN HWND hwnd
);
LPCTSTR
GetNetErrorMsg (
IN LONG lNetErr
);
BOOL
ShowAppHelp (
IN HWND hwndDlg,
IN WORD wContext
);
BOOL
SetSysMenuMinimizeEntryState (
IN HWND hwnd,
IN BOOL bState
);
BOOL
RemoveMaximizeFromSysMenu (
IN HWND hWnd // window handle
);
BOOL
IsBootDisk (
IN LPCTSTR szPath
);
BOOL
TrimSpaces (
IN OUT LPTSTR szString
);
DWORD
TranslateEscapeChars (
IN LPTSTR szNewString,
IN LPTSTR szString
);
BOOL
IsUncPath (
IN LPCTSTR szPath
);
MEDIA_TYPE
GetDriveTypeFromPath (
IN LPCTSTR szPath
);
MACHINE_TYPE
GetSystemType (
VOID
);
LPCTSTR
GetEntryInMultiSz (
IN LPCTSTR mszList,
IN DWORD dwEntry
);
BOOL
RegisterMainWindowClass(
IN HINSTANCE hInstance
);
DWORD
AddStringToMultiSz (
LPTSTR OUT mszDest,
LPCTSTR IN szSource
);
DWORD
StringInMultiSz (
IN LPCTSTR szString,
IN LPCTSTR mszList
);
LPCTSTR
GetStringResource (
IN UINT nId
);
UINT
ValidSharePath (
IN LPCTSTR szPath
);
UINT
ValidSrvToolsPath (
IN LPCTSTR szPath
);
BOOL
DotOrDotDotDir (
IN LPCTSTR szFileName
);
BOOL
LoadClientList (
IN HWND hwndDlg,
IN int nListId,
IN LPCTSTR szPath,
IN UINT nListType,
OUT LPTSTR mszDirList
);
BOOL
EnableExitMessage (
IN BOOL bNewState
);
BOOL
AddMessageToExitList (
IN PNCDU_DATA pData,
IN UINT nMessage
);
BOOL
CenterWindow (
HWND hwndChild,
HWND hwndParent
);
int
DisplayMessageBox (
IN HWND hWndOwner,
IN UINT nMsgId,
IN UINT nTitleId,
IN UINT nStyle
);
VOID
InitAppData (
IN PNCDU_DATA pData
);
LRESULT CALLBACK
MainWndProc (
IN HWND hWnd, // window handle
IN UINT message, // type of message
IN WPARAM uParam, // additional information
IN LPARAM lParam // additional information
);
INT_PTR CALLBACK
SwConfigDlgProc (
IN HWND hwndDlg,
IN UINT message,
IN WPARAM wParam,
IN LPARAM lParam
);
INT_PTR CALLBACK
TargetWsDlgProc (
IN HWND hwndDlg,
IN UINT message,
IN WPARAM wParam,
IN LPARAM lParam
);
INT_PTR CALLBACK
ServerConnDlgProc (
IN HWND hwndDlg,
IN UINT message,
IN WPARAM wParam,
IN LPARAM lParam
);
INT_PTR CALLBACK
LanManCfgDlgProc (
IN HWND hwndDlg,
IN UINT message,
IN WPARAM wParam,
IN LPARAM lParam
);
INT_PTR CALLBACK
CopyFlopDlgProc (
IN HWND hwndDlg,
IN UINT message,
IN WPARAM wParam,
IN LPARAM lParam
);
INT_PTR CALLBACK
CopyFileDlgProc (
IN HWND hwndDlg,
IN UINT message,
IN WPARAM wParam,
IN LPARAM lParam
);
INT_PTR CALLBACK
ConfirmSettingsDlgProc (
IN HWND hwndDlg,
IN UINT message,
IN WPARAM wParam,
IN LPARAM lParam
);
INT_PTR CALLBACK
ExitMessDlgProc (
IN HWND hwndDlg,
IN UINT message,
IN WPARAM wParam,
IN LPARAM lParam
);
INT_PTR CALLBACK
MakeFlopDlgProc (
IN HWND hwndDlg,
IN UINT message,
IN WPARAM wParam,
IN LPARAM lParam
);
INT_PTR CALLBACK
DirBrowseDlgProc (
IN HWND hwndDlg,
IN UINT message,
IN WPARAM wParam,
IN LPARAM lParam
);
INT_PTR CALLBACK
CopyNetUtilsDlgProc (
IN HWND hwndDlg,
IN UINT message,
IN WPARAM wParam,
IN LPARAM lParam
);
INT_PTR CALLBACK
SharePathDlgProc (
IN HWND hwndDlg,
IN UINT message,
IN WPARAM wParam,
IN LPARAM lParam
);
INT_PTR CALLBACK
SelToolsDlgProc (
IN HWND hwndDlg,
IN UINT message,
IN WPARAM wParam,
IN LPARAM lParam
);
INT_PTR CALLBACK
AboutDlgProc (
IN HWND hwndDlg,
IN UINT message,
IN WPARAM wParam,
IN LPARAM lParam
);
BOOL
FormatDiskInDrive (
IN HWND hWnd, // "owning" window
IN TCHAR cDrive, // drive letter to format (only A or B)
IN LPCTSTR szLabel, // label text
IN BOOL bConfirmFormat // prompt with "r-u-sure?" dialog
);
BOOL
LabelDiskInDrive (
IN HWND hWnd, // owner window
IN TCHAR cDrive, // drive letter to format (only A or B)
IN LPCTSTR szLabel // label text
);
DWORD
GetBootDiskDosVersion (
IN LPCTSTR szPath
);
DWORD
GetMultiSzLen (
IN LPCTSTR mszInString
);
DWORD
GetClusterSizeOfDisk (
IN LPCTSTR szPath
);
DWORD
QuietGetFileSize (
IN LPCTSTR szPath
);
#include "otnbtstr.h" // string constant definitions
#endif //_otnboot_H_