|
|
/******************************************************************************
* * NWSCRIPT.H * * This module contains typedefs and defines required for the * NetWare script utility. * * Copyright (c) 1995 Microsoft Corporation * * $Log: N:\NT\PRIVATE\NW4\NWSCRIPT\INC\VCS\NWSCRIPT.H $ * * Rev 1.10 18 Apr 1996 16:53:02 terryt * Various enhancements * * Rev 1.9 10 Apr 1996 14:22:36 terryt * Hotfix for 21181hq * * Rev 1.10 12 Mar 1996 19:42:52 terryt * Relative NDS name support * * Rev 1.9 07 Mar 1996 18:34:46 terryt * Misc fixes * * Rev 1.8 22 Jan 1996 16:44:02 terryt * Add automatic map attaches * * Rev 1.7 08 Jan 1996 13:58:34 terryt * Correct NDS Preferred Server * * Rev 1.6 05 Jan 1996 17:19:08 terryt * Ensure context is the correct login default * * Rev 1.5 04 Jan 1996 18:58:34 terryt * Bug fixes reported by MS * * Rev 1.4 22 Dec 1995 14:20:34 terryt * Add Microsoft headers * * Rev 1.3 28 Nov 1995 17:13:56 terryt * Cleanup resource file * * Rev 1.2 22 Nov 1995 15:44:34 terryt * Use proper NetWare user name call * * Rev 1.1 20 Nov 1995 16:11:34 terryt * Context and capture changes * * Rev 1.0 15 Nov 1995 18:05:38 terryt * Initial revision. * * Rev 1.5 25 Aug 1995 17:03:52 terryt * CAPTURE support * * Rev 1.4 18 Jul 1995 16:07:52 terryt * Screen out capture commands * * Rev 1.3 17 Jul 1995 09:43:02 terryt * Use Microsoft name for environment * * Rev 1.2 23 Jun 1995 09:49:58 terryt * Add error message for mapping over MS network drive * * Rev 1.1 23 May 1995 19:38:14 terryt * Spruce up source * * Rev 1.0 15 May 1995 19:09:42 terryt * Initial revision. * ******************************************************************************/
#define SCRIPT_ENVIRONMENT_VALUENAME L"Volatile Environment"
#define REGISTRY_PROVIDER L"System\\CurrentControlSet\\Services\\NWCWorkstation\\networkProvider"
#define REGISTRY_PROVIDERNAME L"Name"
typedef enum SYNTAX { NDSI_UNKNOWN, /* 0 */ NDSI_DIST_NAME, /* 1 */ NDSI_CE_STRING, /* 2 */ NDSI_CI_STRING, /* 3 */ NDSI_PR_STRING, /* 4 */ NDSI_NU_STRING, /* 5 */ NDSI_CI_LIST, /* 6 */ NDSI_BOOLEAN, /* 7 */ NDSI_INTEGER, /* 8 */ NDSI_OCTET_STRING, /* 9 */ NDSI_TEL_NUMBER, /* 10 */ NDSI_FAX_NUMBER, /* 11 */ NDSI_NET_ADDRESS, /* 12 */ NDSI_OCTET_LIST, /* 13 */ NDSI_EMAIL_ADDRESS, /* 14 */ NDSI_PATH, /* 15 */ NDSI_REPLICA_POINTER, /* 16 */ NDSI_OBJECT_ACL, /* 17 */ NDSI_PO_ADDRESS, /* 18 */ NDSI_TIMESTAMP, /* 19 */ NDSI_CLASS_NAME, /* 20 */ NDSI_STREAM, /* 21 */ NDSI_COUNTER, /* 22 */ NDSI_BACK_LINK, /* 23 */ NDSI_TIME, /* 24 */ NDSI_TYPED_NAME, /* 25 */ NDSI_HOLD, /* 26 */ NDSI_INTERVAL, /* 27 */ NDSI_TAX_COUNT /* 28 */ } SYNTAX;
#define DSCL_AFP_SERVER "AFP Server"
#define DSCL_ALIAS "Alias"
#define DSCL_BINDERY_OBJECT "Bindery Object"
#define DSCL_BINDERY_QUEUE "Bindery Queue"
#define DSCL_COMPUTER "Computer"
#define DSCL_COUNTRY "Country"
#define DSCL_DEVICE "Device"
#define DSCL_DIRECTORY_MAP "Directory Map"
#define DSCL_EXTERNAL_ENTITY "External Entity"
#define DSCL_GROUP "Group"
#define DSCL_LIST "List"
#define DSCL_LOCALITY "Locality"
#define DSCL_MESSAGE_ROUTING_GROUP "Message Routing Group"
#define DSCL_MESSAGING_SERVER "Messaging Server"
#define DSCL_NCP_SERVER "NCP Server"
#define DSCL_ORGANIZATION "Organization"
#define DSCL_ORGANIZATIONAL_PERSON "Organizational Person"
#define DSCL_ORGANIZATIONAL_ROLE "Organizational Role"
#define DSCL_ORGANIZATIONAL_UNIT "Organizational Unit"
#define DSCL_PARTITION "Partition"
#define DSCL_PERSON "Person"
#define DSCL_PRINT_SERVER "Print Server"
#define DSCL_PRINTER "Printer"
#define DSCL_PROFILE "Profile"
#define DSCL_QUEUE "Queue"
#define DSCL_RESOURCE "Resource"
#define DSCL_SERVER "Server"
#define DSCL_TOP "Top"
#define DSCL_UNKNOWN "Unknown"
#define DSCL_USER "User"
#define DSCL_VOLUME "Volume"
#define DSAT_HOST_SERVER "Host Server"
#define DSAT_HOST_RESOURCE_NAME "Host Resource Name"
#define DSAT_PATH "Path"
void ConvertUnicodeToAscii( PVOID );
void NTGetTheDate( unsigned int *, unsigned char *, unsigned char * ); void NTGetVersionOfShell( char *, unsigned char *, unsigned char *, unsigned char * ); void NTBreakOff( void ); void NTBreakOn( void ); unsigned short NTNetWareDriveStatus( unsigned short ); unsigned int NTGetNWDrivePath( unsigned short, unsigned char *, unsigned char * ); char * NTNWtoUNCFormat( char * ); unsigned int NTLoginToFileServer( char *, char *, char * ); unsigned int NTAttachToFileServer( unsigned char *, unsigned int * ); unsigned int NTIsConnected( unsigned char * ); unsigned int NTSetDriveBase( unsigned char *, unsigned char *, unsigned char * ); unsigned int NTGetUserID( unsigned int, unsigned long * ); unsigned int NTIsNetWareDrive( unsigned int ); void NTInitProvider( void ); void DisplayMessage( unsigned int, ... ); void DisplayOemString( char * ); void ExportEnv( unsigned char * ); void ExportCurrentDirectory( int ); void ExportCurrentDrive( int ); void GetOldPaths( void ); void NTPrintExtendedError( void ); unsigned int NTGetCurrentDirectory( unsigned char, unsigned char * ); void Capture( char ** argv, unsigned int ); unsigned int ConverNDSPathToNetWarePathA(char *, char *, char *);
#define CONTEXT_MAX 256
#define ATTRBUFSIZE 2048
#define NDS_NAME_CHARS 1024
unsigned int NDSInitUserProperty( void ); unsigned int NDSGetUserProperty( PBYTE, PBYTE Data, unsigned int, SYNTAX *, unsigned int * ); void NDSGetVar ( PBYTE, PBYTE, unsigned int ); unsigned int NDSChangeContext( PBYTE ); unsigned int NDSGetContext( PBYTE, unsigned int ); unsigned int Is40Server( unsigned int ); unsigned int NDSfopenStream ( PBYTE, PBYTE, PHANDLE, unsigned int * ); unsigned int IsMemberOfNDSGroup( PBYTE ); unsigned int NDSGetProperty ( PBYTE, PBYTE, PBYTE, unsigned int, unsigned int * ); unsigned int NDSTypeless( LPSTR, LPSTR ); void CleanupExit( int ); void NDSCleanup( void ); int NTGetNWUserName( PWCHAR, PWCHAR, int ); unsigned int NDSGetClassName( LPSTR, LPSTR );
unsigned int NDSCanonicalizeName( PBYTE, PBYTE, int, int );
#define LIST_3X_SERVER 1
#define LIST_4X_SERVER 2
BOOL IsServerInAttachList( char *, unsigned int ); void AddServerToAttachList( char *, unsigned int ); int DoAttachProcessing( char * );
#define FLAGS_LOCAL_CONTEXT 0x1
#define FLAGS_NO_CONTEXT 0x2
#define FLAGS_TYPED_NAMES 0x4
unsigned int NDSAbbreviateName( DWORD, LPSTR, LPSTR );
/*
* Resource string IDs */ #define IDR_ERROR 100
#define IDR_NO_DEFAULT_CONNECTION 101
#define IDR_NO_KNOWN_FILE_SERVER 102
#define IDR_LOCAL_DRIVE 103
#define IDR_NETWARE_DRIVE 104
#define IDR_DASHED_LINE 105
#define IDR_LOCAL_SEARCH 106
#define IDR_NETWARE_SEARCH 107
#define IDR_NOT_ENOUGH_MEMORY 108
#define IDR_PASSWORD 109
#define IDR_ATTACHED 110
#define IDR_ACCESS_DENIED 111
#define IDR_UNAUTHORIZED_LOGIN_TIME 112
#define IDR_LOGIN_DENIED_NO_CONNECTION 113
#define IDR_UNAUTHORIZED_LOGIN_STATION 114
#define IDR_ACCOUNT_DISABLED 115
#define IDR_PASSWORD_EXPRIED_NO_GRACE 116
#define IDR_MAP_NOT_ATTACHED_SERVER 117
#define IDR_MAP_USAGE 118
#define IDR_UNDEFINED 119
#define IDR_DIRECTORY_NOT_FOUND 120
#define IDR_VOLUME_NOT_EXIST 121
#define IDR_WRONG_DRIVE 122
#define IDR_DEL_DRIVE 123
#define IDR_DEL_SEARCH_DRIVE 124
#define IDR_SEARCH_DRIVE_NOT_EXIST 125
#define IDR_NOT_NETWORK_DRIVE 126
#define IDR_NO_DRIVE_AVAIL 127
#define IDR_INVALID_PATH 128
#define IDR_CAN_NOT_CHANGE_DRIVE 129
#define IDR_MAP_INVALID_PATH 130
#define IDR_MAP_FAILED 131
#define IDR_NO_SCRIPT_FILE 132
#define IDR_STRIKE_KEY 133
#define IDR_CANNOT_EXECUTE 134
#define IDR_ENOENT 135
#define IDR_EXIT_NOT_SUPPORTED 136
#define IDR_IF_TOO_DEEP 137
#define IDR_SCRIPT_ERROR 138
#define IDR_ORIGINAL_LINE_WAS 139
#define IDR_BAD_COMMAND 140
#define IDR_LABEL_NOT_FOUND 141
#define IDR_NO_VOLUME 142
#define IDR_ERROR_DURING 143
#define IDR_MAP_ERROR 144
#define IDR_ENTER_SERVER_NAME 145
#define IDR_ENTER_LOGIN_NAME 146
#define IDR_ERROR_SET_DEFAULT_DRIVE 147
#define IDR_ERROR_OPEN_SCRIPT 148
#define IDR_DIVIDE_BY_ZERO 149
#define IDR_NEWLINE 150
#define IDR_SERVER_USER 151
#define IDR_NON_NETWARE_NETWORK_DRIVE 152
#define IDR_CAPTURE_USAGE 153
#define IDR_COPIES_EXPECTED 154
#define IDR_COPIES_OUTOF_RANGE 155
#define IDR_FILE_CAPTURE_UNSUPPORTED 156
#define IDR_FORM_EXPECTED 157
#define IDR_INVALID_BANNER 158
#define IDR_INVALID_FORM_NAME 159
#define IDR_INVALID_FORM_TYPE 160
#define IDR_INVALID_LPT_NUMBER 161
#define IDR_INVALID_PATH_NAME 162
#define IDR_JOB_NOT_FOUND 163
#define IDR_LPT_NUMBER_EXPECTED 164
#define IDR_LPT_STATUS 165
#define IDR_NOT_ACTIVE 166
#define IDR_NO_AUTOENDCAP 167
#define IDR_NO_PRINTERS 168
#define IDR_LPT_STATUS_NO_BANNER 169
#define IDR_QUEUE_NOT_EXIST 170
#define IDR_SERVER_NOT_FOUND 171
#define IDR_SUCCESS_QUEUE 172
#define IDR_TABSIZE_OUTOF_RANGE 173
#define IDR_TAB_SIZE_EXPECTED 174
#define IDR_TIMEOUT_OUTOF_RANGE 175
#define IDR_TIME_OUT_EXPECTED 176
#define IDR_UNKNOW_FLAG 177
#define IDR_DISABLED 178
#define IDR_ENABLED 179
#define IDR_YES 180
#define IDR_NO 181
#define IDR_SECONDS 182
#define IDR_CONVERT_TO_SPACE 183
#define IDR_NO_CONVERSION 184
#define IDR_NOTIFY_USER 185
#define IDR_NOT_NOTIFY_USER 186
#define IDR_NONE 187
#define IDR_CONNECTION_REFUSED 188
#define IDR_LASTLOGIN_PM 189
#define IDR_LASTLOGIN_AM 190
#define IDR_ALL_LOCAL_DRIVES 191
#define IDR_CHANGE_CONTEXT_ERROR 192
#define IDR_GET_CONTEXT_ERROR 193
#define IDR_DISPLAY_CONTEXT 194
#define IDR_LPT_STATUS_NDS 195
#define IDR_LPT_STATUS_NO_BANNER_NDS 196
#define IDR_NO_QUEUE 197
#define IDR_LASTLOGIN 198
#define IDR_TREE_OPEN_FAILED 199
#define IDR_NDS_CONTEXT_INVALID 200
#define IDR_NDS_USERNAME_FAILED 201
#define IDR_QUERY_INFO_FAILED 202
#define IDR_NO_RESPONSE 203
#define IDR_NDSQUEUE_NOT_EXIST 204
#define IDR_NDSSUCCESS_QUEUE 205
#define IDR_CAPTURE_FAILED 206
#define IDR_CURRENT_TREE 207
#define IDR_CURRENT_SERVER 208
#define IDR_CURRENT_CONTEXT 209
#define IDR_AUTHENTICATING_SERVER 210
#define IDR_NO_END_QUOTE 211
#define IDR_ALREADY_ATTACHED 212
//
// BEGIN WARNING!!! Items below MUST be consequtive. Eg. the code assumes
// that March is January+2.
//
#define IDR_GREETING_MORNING 300
#define IDR_GREETING_AFTERNOON 301
#define IDR_GREETING_EVENING 302
#define IDR_AM 305
#define IDR_PM 306
#define IDR_SUNDAY 310
#define IDR_MONDAY 311
#define IDR_TUESDAY 312
#define IDR_WEDNESDAY 313
#define IDR_THURSDAY 314
#define IDR_FRIDAY 315
#define IDR_SATURDAY 316
#define IDR_JANUARY 320
#define IDR_FEBRUARY 321
#define IDR_MARCH 322
#define IDR_APRIL 323
#define IDR_MAY 324
#define IDR_JUNE 325
#define IDR_JULY 326
#define IDR_AUGUST 327
#define IDR_SEPTEMBER 328
#define IDR_OCTOBER 329
#define IDR_NOVEMBER 330
#define IDR_DECEMBER 331
//
// END WARNING!!!
//
|