From 30913d4867ae1a8b5f60242fe07e152357364b7e Mon Sep 17 00:00:00 2001 From: Jim Norman Date: Fri, 8 Jun 2007 04:32:58 +0000 Subject: [PATCH] Bug 280562 - Client interoperability problem with miCasa and ZEN agent. Update to latest nwlogin.h and use correct params. --- .../external/provider/include/nwlgext.h | 41 +- .../external/provider/include/nwlogin.h | 1108 +++++++++-------- CASA/logincapture/windows/lextend.cpp | 4 +- 3 files changed, 597 insertions(+), 556 deletions(-) diff --git a/CASA/logincapture/windows/external/provider/include/nwlgext.h b/CASA/logincapture/windows/external/provider/include/nwlgext.h index bf078d08..9ad330c3 100644 --- a/CASA/logincapture/windows/external/provider/include/nwlgext.h +++ b/CASA/logincapture/windows/external/provider/include/nwlgext.h @@ -1,25 +1,24 @@ -/*********************************************************************** - * - * Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; version 2.1 - * of the License. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, Novell, Inc. - * - * To contact Novell about this file by physical or electronic mail, - * you may find current contact information at www.novell.com. - * - ***********************************************************************/ +/**************************************************************************** + Source module name: nwlgext.h + Release %version: 100 % + $Workfile: nwlgext.h $ + $Revision: $ + $Modtime:: $ + $Copyright: + + Copyright (c) 1989-1999 Novell, Inc. All Rights Reserved. + U.S. Patent Number 5,781,724 -- Novell, Inc. + + THIS WORK IS SUBJECT TO U.S. AND INTERNATIONAL COPYRIGHT LAWS AND + TREATIES. NO PART OF THIS WORK MAY BE USED, PRACTICED, PERFORMED + COPIED, DISTRIBUTED, REVISED, MODIFIED, TRANSLATED, ABRIDGED, CONDENSED, + EXPANDED, COLLECTED, COMPILED, LINKED, RECAST, TRANSFORMED OR ADAPTED + WITHOUT THE PRIOR WRITTEN CONSENT OF NOVELL, INC. ANY USE OR EXPLOITATION + OF THIS WORK WITHOUT AUTHORIZATION COULD SUBJECT THE PERPETRATOR TO + CRIMINAL AND CIVIL LIABILITY.$ + +****************************************************************************/ #ifndef NWLOGIN_H # include #endif diff --git a/CASA/logincapture/windows/external/provider/include/nwlogin.h b/CASA/logincapture/windows/external/provider/include/nwlogin.h index 3abd0677..60b5ff57 100644 --- a/CASA/logincapture/windows/external/provider/include/nwlogin.h +++ b/CASA/logincapture/windows/external/provider/include/nwlogin.h @@ -1,25 +1,19 @@ -/*********************************************************************** - * - * Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; version 2.1 - * of the License. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, Novell, Inc. - * - * To contact Novell about this file by physical or electronic mail, - * you may find current contact information at www.novell.com. - * - ***********************************************************************/ +/**************************************************************************** + Source module name: nwlogin.h + Release %version: 112 % + Copyright (c) 1989-1999 Novell, Inc. All Rights Reserved. + U.S. Patent Number 5,781,724 -- Novell, Inc. + + THIS WORK IS SUBJECT TO U.S. AND INTERNATIONAL COPYRIGHT LAWS AND + TREATIES. NO PART OF THIS WORK MAY BE USED, PRACTICED, PERFORMED + COPIED, DISTRIBUTED, REVISED, MODIFIED, TRANSLATED, ABRIDGED, CONDENSED, + EXPANDED, COLLECTED, COMPILED, LINKED, RECAST, TRANSFORMED OR ADAPTED + WITHOUT THE PRIOR WRITTEN CONSENT OF NOVELL, INC. ANY USE OR EXPLOITATION + OF THIS WORK WITHOUT AUTHORIZATION COULD SUBJECT THE PERPETRATOR TO + CRIMINAL AND CIVIL LIABILITY.$ + +****************************************************************************/ /**************************************************************************** 2-6-98 KPW remove PRE_NETWARE_LOGIN event - never used and don't plan to 2-18-98 KPW added NWLG_RESTART_PRIMARY_LOGIN restartMode @@ -28,36 +22,37 @@ #define NWLOGIN_H #ifndef NTYPES_H - #include + #include #endif // MSVC 4.x MSVC 1.52 4.x BC4.x BC5.x #if !defined (_WINDOWS_) && !defined(_INC_WINDOWS) && !defined(__WINDOWS_H) // take care of a compile error for modules that do not need windows.h // but do include nwlogin.h - #if defined (N_PLAT_MSW4) || defined (N_PLAT_WNT) - typedef nptr HWND; + typedef nuint HWND; + #if defined(_WIN64) + typedef __int64 INT_PTR; #else - typedef nuint HWND; - #endif + typedef _W64 int INT_PTR; + #endif #endif #ifndef NWCALDEF_H - #include + #include #endif -#ifndef __NWDSDEFS_H - #include +#ifndef __NWDSDEFS_H + #include #endif -#if defined (N_ARCH_32) +// #if defined (N_ARCH_32) #if ! defined ( NWAPIDEF_H ) - #include + #include #endif -#endif +// #endif -#ifndef _NWDSDC_HEADER_ - #include +#ifndef _NWDSDC_HEADER_ + #include #endif #ifdef __cplusplus @@ -65,269 +60,295 @@ extern "C" { #endif /* - Event constants + Event constants Command Line parsing events */ -#define NWLG_INITIALIZE 0 -#define NWLG_CMD_LINE_SERVICE 1 -#define NWLG_CMD_LINE_USER 2 -#define NWLG_CMD_LINE_NS 3 -#define NWLG_PRESCRIPT_CLS 4 -#define NWLG_CMD_LINE_SCRIPT_FILE 5 -#define NWLG_CMD_LINE_PROFILE 51 -#define NWLG_CMD_LINE_FLAGS 52 -#define NWLG_CMD_LINE_ARGS 53 -#define NWLG_CMD_LINE_BIND_LOGIN 6 -#define NWLG_CMD_LINE_TREE 7 -#define NWLG_RESOLVE_USER_NAME 8 -#define NWLG_NO_BANNER 9 -#define NWLG_CMD_LINE_ARG_DONE 10 -#define NWLG_CMD_LINE_HELP 11 - +#define NWLG_CMD_LINE_PARSING_EVENTS \ + NWLG_EVENT(INITIALIZE,0) \ + NWLG_EVENT(CMD_LINE_SERVICE,1) \ + NWLG_EVENT(CMD_LINE_USER,2) \ + NWLG_EVENT(CMD_LINE_NS,3) \ + NWLG_EVENT(PRESCRIPT_CLS,4) \ + NWLG_EVENT(CMD_LINE_SCRIPT_FILE,5) \ + NWLG_EVENT(CMD_LINE_PROFILE,51) \ + NWLG_EVENT(CMD_LINE_FLAGS,52) \ + NWLG_EVENT(CMD_LINE_ARGS,53) \ + NWLG_EVENT(CMD_LINE_BIND_LOGIN,6) \ + NWLG_EVENT(CMD_LINE_TREE,7) \ + NWLG_EVENT(RESOLVE_USER_NAME,8) \ + NWLG_EVENT(NO_BANNER,9) \ + NWLG_EVENT(CMD_LINE_ARG_DONE,10) \ + NWLG_EVENT(CMD_LINE_HELP,11) + /* - Script related events + Script related events */ -#define NWLG_PRE_SCRIPTS 12 -#define NWLG_OPEN_SCRIPT 13 -#define NWLG_GET_SCRIPT_LINE 14 -#define NWLG_SCRIPT_BREAK 15 -#define NWLG_REWIND_SCRIPT 16 -#define NWLG_BIND_ATTACH 17 -#define NWLG_TERMINATE 18 -#define NWLG_CLEAR_SCREEN 19 -#define NWLG_DOS_COMSPEC 20 -#define NWLG_DS_CONTEXT 21 -#define NWLG_DISP_FILE 22 -#define NWLG_DOS_BREAK 23 -#define NWLG_DOS_VERIFY 24 -#define NWLG_DRIVE 25 -#define NWLG_EXIT 26 -#define NWLG_EXEC 27 -#define NWLG_FIRE_PHASERS 28 -#define NWLG_DISP_LTIME 29 -#define NWLG_MACHINE 30 -#define NWLG_MEMBER_OF 31 -#define NWLG_NO_DEFAULT 32 -#define NWLG_TERM_CMD 33 -#define NWLG_PAUSE 34 -#define NWLG_DOS_PC_COMPAT 35 -#define NWLG_PROFILE 36 -#define NWLG_NOTHING 37 -#define NWLG_BIND_SCRIPT_SERVER 38 -#define NWLG_SET_ENV_VAR 39 -#define NWLG_SYNC_TIME_FLAG 40 -#define NWLG_DOS_SWAP_PATH 41 -#define NWLG_DISP_LINE 42 -#define NWLG_INCLUDE 43 -#define NWLG_TREE_ATTACH 44 -#define NWLG_SWAP_CMD 45 -#define NWLG_NO_SWAP_CMD 46 -#define NWLG_CHDIR 47 -#define NWLG_LOGOUT_ALL 48 -#define NWLG_LOGOUT_ONE 49 -#define NWLG_CONTINUE 50 -#define NWLG_RUN_SCRIPT 60 -#define NWLG_POST_SCRIPTS 61 -#define NWLG_DISP_BANNER 62 -#define NWLG_PWD_EXP_CHK 63 -#define NWLG_PWD_EXP_CHK_STAT 64 -#define NWLG_PWD_EXP_UPD 65 +#define NWLG_SCRIPT_EVENTS \ + NWLG_EVENT(PRE_SCRIPTS,12) \ + NWLG_EVENT(OPEN_SCRIPT,13) \ + NWLG_EVENT(GET_SCRIPT_LINE,14) \ + NWLG_EVENT(SCRIPT_BREAK,15) \ + NWLG_EVENT(REWIND_SCRIPT,16) \ + NWLG_EVENT(BIND_ATTACH,17) \ + NWLG_EVENT(TERMINATE,18) \ + NWLG_EVENT(CLEAR_SCREEN,19) \ + NWLG_EVENT(DOS_COMSPEC,20) \ + NWLG_EVENT(DS_CONTEXT,21) \ + NWLG_EVENT(DISP_FILE,22) \ + NWLG_EVENT(DOS_BREAK,23) \ + NWLG_EVENT(DOS_VERIFY,24) \ + NWLG_EVENT(DRIVE,25) \ + NWLG_EVENT(EXIT,26) \ + NWLG_EVENT(EXEC,27) \ + NWLG_EVENT(FIRE_PHASERS,28) \ + NWLG_EVENT(DISP_LTIME,29) \ + NWLG_EVENT(MACHINE,30) \ + NWLG_EVENT(MEMBER_OF,31) \ + NWLG_EVENT(NO_DEFAULT,32) \ + NWLG_EVENT(TERM_CMD,33) \ + NWLG_EVENT(PAUSE,34) \ + NWLG_EVENT(DOS_PC_COMPAT,35) \ + NWLG_EVENT(PROFILE,36) \ + NWLG_EVENT(NOTHING,37) \ + NWLG_EVENT(BIND_SCRIPT_SERVER,38) \ + NWLG_EVENT(SET_ENV_VAR,39) \ + NWLG_EVENT(SYNC_TIME_FLAG,40) \ + NWLG_EVENT(DOS_SWAP_PATH,41) \ + NWLG_EVENT(DISP_LINE,42) \ + NWLG_EVENT(INCLUDE,43) \ + NWLG_EVENT(TREE_ATTACH,44) \ + NWLG_EVENT(SWAP_CMD,45) \ + NWLG_EVENT(NO_SWAP_CMD,46) \ + NWLG_EVENT(CHDIR,47) \ + NWLG_EVENT(LOGOUT_ALL,48) \ + NWLG_EVENT(LOGOUT_ONE,49) \ + NWLG_EVENT(CONTINUE,50) \ + NWLG_EVENT(RUN_SCRIPT,60) \ + NWLG_EVENT(POST_SCRIPTS,61) \ + NWLG_EVENT(DISP_BANNER,62) \ + NWLG_EVENT(PWD_EXP_CHK,63) \ + NWLG_EVENT(PWD_EXP_CHK_STAT,64) \ + NWLG_EVENT(PWD_EXP_UPD,65) + /* - Connection Events + Connection Events */ -#define NWLG_CONN_GET 90 -#define NWLG_CONN_AUTH 91 -#define NWLG_CONN_EXPIRED 92 -#define NWLG_SYNC_PWD_START 93 -#define NWLG_SYNC_PWD_END 94 -#define NWLG_SYNC_LIST_BLD 95 -#define NWLG_SYNC_LIST_UPD 96 -#define NWLG_SYNC_LIST_FREE 97 - -#define NWLG_PRE_LOGIN 98 +#define NWLG_CONN_EVENTS \ + NWLG_EVENT(CONN_GET,90) \ + NWLG_EVENT(CONN_AUTH,91) \ + NWLG_EVENT(CONN_EXPIRED,92) \ + NWLG_EVENT(SYNC_PWD_START,93) \ + NWLG_EVENT(SYNC_PWD_END,94) \ + NWLG_EVENT(SYNC_LIST_BLD,95) \ + NWLG_EVENT(SYNC_LIST_UPD,96) \ + NWLG_EVENT(SYNC_LIST_FREE,97) \ + NWLG_EVENT(PRE_LOGIN,98) /* Internal SYSTEM type message */ -#define NWLG_SYSTEM 100 -#define NWLG_NETWARE_LOGIN 101 - -#define NWLG_ELSE 190 -#define NWLG_END 191 -#define NWLG_GOTO 192 -#define NWLG_IF 193 -#define NWLG_IFDO 194 -#define NWLG_LABEL 195 -#define NWLG_MAP 196 -#define NWLG_SHIFT 197 +#define NWLG_SYSTEM_EVENTS \ + NWLG_EVENT(SYSTEM,100) \ + NWLG_EVENT(NETWARE_LOGIN,101) \ + NWLG_EVENT(START_LOGIN,102) \ + NWLG_EVENT(ELSE,190) \ + NWLG_EVENT(END,191) \ + NWLG_EVENT(GOTO,192) \ + NWLG_EVENT(IF,193) \ + NWLG_EVENT(IFDO,194) \ + NWLG_EVENT(LABEL,195) \ + NWLG_EVENT(MAP,196) \ + NWLG_EVENT(SHIFT,197) /* - Map events + Map events */ -/* Individual map events */ -#define NWLG_MAP_ADD 200 -#define NWLG_MAP_DEL 201 -#define NWLG_MAP_CHANGE 202 -#define NWLG_MAP_MOVE 203 -#define NWLG_MAP_DISP 204 -#define NWLG_MAP_MSG 205 -#define NWLG_MAP_ERR 206 +/* Individual map events */ -/* detail map events from parser - summary events below are passed to event handler +#define NWLG_MAP_EVENTS \ + NWLG_EVENT(MAP_ADD,200) \ + NWLG_EVENT(MAP_DEL,201) \ + NWLG_EVENT(MAP_CHANGE,202) \ + NWLG_EVENT(MAP_MOVE,203) \ + NWLG_EVENT(MAP_DISP,204) \ + NWLG_EVENT(MAP_MSG,205) \ + NWLG_EVENT(MAP_ERR,206) + +/* detail map events from parser + summary events below are passed to event handler */ -#define NWLG_MAP_ADD_DRV 210 -#define NWLG_MAP_ADD_DRV_TO_SDRV 211 -#define NWLG_MAP_ADD_SRCH 212 -#define NWLG_MAP_ADD_SRCH_TO_SDRV 213 -#define NWLG_MAP_CHG_DRV_TO_SDRV 214 -#define NWLG_MAP_CHG_INS_DRV_TO_SDRV 215 -#define NWLG_MAP_CHG_SRCH 216 -#define NWLG_MAP_DEL_DRV 217 -#define NWLG_MAP_DEL_SRCH 218 -#define NWLG_MAP_DISP_ALL_DRVS 219 -#define NWLG_MAP_DISP_DRV 220 -#define NWLG_MAP_DISP_OFF 221 -#define NWLG_MAP_DISP_ON 222 -#define NWLG_MAP_DISP_SRCH 223 -#define NWLG_MAP_ERRORS_OFF 224 -#define NWLG_MAP_ERRORS_ON 225 -#define NWLG_MAP_INS_SRCH 226 -#define NWLG_MAP_INS_SRCH_TO_SDRV 227 -#define NWLG_MAP_NEXT_DRV 228 + +#define NWLG_MAP_DETAIL_EVENTS \ + NWLG_EVENT(MAP_ADD_DRV,210) \ + NWLG_EVENT(MAP_ADD_DRV_TO_SDRV,211) \ + NWLG_EVENT(MAP_ADD_SRCH,212) \ + NWLG_EVENT(MAP_ADD_SRCH_TO_SDRV,213) \ + NWLG_EVENT(MAP_CHG_DRV_TO_SDRV,214) \ + NWLG_EVENT(MAP_CHG_INS_DRV_TO_SDRV,215) \ + NWLG_EVENT(MAP_CHG_SRCH,216) \ + NWLG_EVENT(MAP_DEL_DRV,217) \ + NWLG_EVENT(MAP_DEL_SRCH,218) \ + NWLG_EVENT(MAP_DISP_ALL_DRVS,219) \ + NWLG_EVENT(MAP_DISP_DRV,220) \ + NWLG_EVENT(MAP_DISP_OFF,221) \ + NWLG_EVENT(MAP_DISP_ON,222) \ + NWLG_EVENT(MAP_DISP_SRCH,223) \ + NWLG_EVENT(MAP_ERRORS_OFF,224) \ + NWLG_EVENT(MAP_ERRORS_ON,225) \ + NWLG_EVENT(MAP_INS_SRCH,226) \ + NWLG_EVENT(MAP_INS_SRCH_TO_SDRV,227) \ + NWLG_EVENT(MAP_NEXT_DRV,228) /* event types for extended script commands and to introduce some new hooks used by Mobile */ -#define NWLG_DISP_WIBBLE 300 -#define NWLG_CAPTURE_PRINTER 301 -#define NWLG_DCACHE_ADD 302 -#define NWLG_DCACHE_FIND 303 - -#define NWLG_DO_GOTO 305 - -#define NWLG_AVAILABLE_DRIVE 309 -#define NWLG_NOTIFY_PARENT_WINDOW 310 -#define NWLG_PARSE_SCRIPT_LINE 311 -#define NWLG_NOTIFY_LOGIN_NAMES 312 -#define NWLG_NOTIFY_PROGRESS 313 -#define NWLG_GET_LOCATION_NAME 314 -#define NWLG_GET_FIRST_NETWORK_DRIVE 315 +#define NWLG_SCRIPT_EX_EVENTS \ + NWLG_EVENT(CAPTURE_PRINTER,301) \ + NWLG_EVENT(DCACHE_ADD,302) \ + NWLG_EVENT(DCACHE_FIND,303) \ + NWLG_EVENT(DO_GOTO,305) \ + NWLG_EVENT(AVAILABLE_DRIVE,309) \ + NWLG_EVENT(NOTIFY_PARENT_WINDOW,310) \ + NWLG_EVENT(PARSE_SCRIPT_LINE,311) \ + NWLG_EVENT(NOTIFY_LOGIN_NAMES,312) \ + NWLG_EVENT(GET_LOCATION_NAME,314) \ + NWLG_EVENT(GET_FIRST_NETWORK_DRIVE,315) /* Event types for communication between extensions and default UI. */ -#define NWLG_UI_DATA_CHANGED 400 - /* Event types for NWLG_UI_DATA_CHANGED */ -# define NWLG_UI_DC_USERNAME 0x0101 -# define NWLG_UI_DC_TREE_LOGIN 0x0201 -# define NWLG_UI_DC_TREE 0x0202 -# define NWLG_UI_DC_SERVER 0x0203 -# define NWLG_UI_DC_BINDERY_CONN 0x0204 -# define NWLG_UI_DC_CONTEXT 0x0205 -# define NWLG_UI_DC_CLEAR_CONNS 0x0206 -# define NWLG_UI_DC_RUN_SCRIPTS 0x0301 -# define NWLG_UI_DC_DISPLAY_RESULTS 0x0302 -# define NWLG_UI_DC_AUTO_CLOSE 0x0303 -# define NWLG_UI_DC_LOGIN_SCRIPT 0x0304 -# define NWLG_UI_DC_PROFILE_SCRIPT 0x0305 -# define NWLG_UI_DC_VAR 0x0400 -# define NWLG_UI_DC_MOBILE_PROFILE 0x4101 -# define NWLG_UI_DC_CONNECT_OFFLINE 0x4102 -# define NWLG_UI_DC_DEBUG_MODE 0x4301 -# define NWLG_UI_DC_VERBOSE_MODE 0x4302 +#define NWLG_EXT_UI_EVENTS \ + NWLG_EVENT(UI_DATA_CHANGED,400) \ + NWLG_EVENT(UI_DC_USERNAME,0x0101) \ + NWLG_EVENT(UI_DC_TREE_LOGIN,0x0201) \ + NWLG_EVENT(UI_DC_TREE,0x0202) \ + NWLG_EVENT(UI_DC_SERVER,0x0203) \ + NWLG_EVENT(UI_DC_BINDERY_CONN,0x0204) \ + NWLG_EVENT(UI_DC_CONTEXT,0x0205) \ + NWLG_EVENT(UI_DC_CLEAR_CONNS,0x0206) \ + NWLG_EVENT(UI_DC_RUN_SCRIPTS,0x0301) \ + NWLG_EVENT(UI_DC_DISPLAY_RESULTS,0x0302) \ + NWLG_EVENT(UI_DC_AUTO_CLOSE,0x0303) \ + NWLG_EVENT(UI_DC_LOGIN_SCRIPT,0x0304) \ + NWLG_EVENT(UI_DC_PROFILE_SCRIPT,0x0305) \ + NWLG_EVENT(UI_DC_VAR,0x0400) \ + NWLG_EVENT(FORGOTTEN_PWD_CLICK,0x0500) \ + NWLG_EVENT(DHCP_CHECK, 0x0501) \ + NWLG_EVENT(UI_DC_MOBILE_PROFILE,0x4101) \ + NWLG_EVENT(UI_DC_CONNECT_OFFLINE,0x4102) \ + NWLG_EVENT(UI_DC_DEBUG_MODE,0x4301) \ + NWLG_EVENT(UI_DC_VERBOSE_MODE,0x4302) + +#define NWLG_MISC_EVENTS \ + NWLG_EVENT(UNKNOWN,999) + +#define NWLG_EVENT_LIST \ + NWLG_CMD_LINE_PARSING_EVENTS \ + NWLG_SCRIPT_EVENTS \ + NWLG_CONN_EVENTS \ + NWLG_SYSTEM_EVENTS \ + NWLG_MAP_EVENTS \ + NWLG_MAP_DETAIL_EVENTS \ + NWLG_SCRIPT_EX_EVENTS \ + NWLG_EXT_UI_EVENTS \ + NWLG_MISC_EVENTS \ + +#undef NWLG_EVENT +#define NWLG_EVENT(name,number) \ + NWLG_##name=number, + +typedef enum { NWLG_EVENT_LIST } NWLG_Event_t ; -#define NWLG_UNKNOWN 999 /* - END OF Event constants + END OF Event constants */ /* - NWLogin Shared Data identifier tags + NWLogin Shared Data identifier tags */ -#define NWLG_SD_SERVER 1 -#define NWLG_SD_USER 2 -#define NWLG_SD_NS 3 -#define NWLG_SD_CLS 4 -#define NWLG_SD_SCRIPT_FILE 5 -#define NWLG_SD_BIND_LOGIN 6 -#define NWLG_SD_TREE_NAME 7 -#define NWLG_SD_SWAP_FLAG 8 -#define NWLG_SD_SWAP_PATH 9 -#define NWLG_SD_NB 10 +#define NWLG_SD_SERVER 1 +#define NWLG_SD_USER 2 +#define NWLG_SD_NS 3 +#define NWLG_SD_CLS 4 +#define NWLG_SD_SCRIPT_FILE 5 +#define NWLG_SD_BIND_LOGIN 6 +#define NWLG_SD_TREE_NAME 7 +#define NWLG_SD_SWAP_FLAG 8 +#define NWLG_SD_SWAP_PATH 9 +#define NWLG_SD_NB 10 -#define NWLG_SD_ACCESS_SERVER 11 -#define NWLG_SD_AM_PM 12 -#define NWLG_SD_DAY 13 -#define NWLG_SD_DAY_OF_WEEK 14 -#define NWLG_SD_ENVAR 15 -#define NWLG_SD_FILE_SERVER 16 -#define NWLG_SD_FULL_NAME 17 -#define NWLG_SD_GREETING_TIME 18 -#define NWLG_SD_HOUR 19 -#define NWLG_SD_HOUR24 20 -#define NWLG_SD_LAST_NAME 21 -#define NWLG_SD_LOGIN_NAME 22 -#define NWLG_SD_LOGIN_CONTEXT 23 -#define NWLG_SD_MACHINE 24 -#define NWLG_SD_MINUTE 25 -#define NWLG_SD_MONTH 26 -#define NWLG_SD_MONTH_NAME 27 -#define NWLG_SD_NDAY_OF_YEAR 28 -#define NWLG_SD_NET_ADDRESS 29 -#define NWLG_SD_MAIL_STATUS 30 -#define NWLG_SD_PASSWORD_EXPIRES 31 -#define NWLG_SD_OS_VERSION 32 -#define NWLG_SD_OS_NAME 33 -#define NWLG_SD_REQ_VERSION 34 -#define NWLG_SD_REQ_CONTEXT 35 -#define NWLG_SD_SECOND 36 -#define NWLG_SD_SHORT_YEAR 37 -#define NWLG_SD_SHELL_VERSION 38 -#define NWLG_SD_SHORT_MACHINE 39 -#define NWLG_SD_STATION 40 -#define NWLG_SD_USER_OBJ 41 -#define NWLG_SD_YEAR 42 -#define NWLG_SD_CL_USER 43 -#define NWLG_SD_CL_SERVER 44 -#define NWLG_SD_PROFILE 45 -#define NWLG_SD_PASSWORD 46 -#define NWLG_SD_LOADPATH 47 -#define NWLG_SD_CMD_LINE_FLAGS 48 -#define NWLG_SD_CMD_LINE_ARG 49 -#define NWLG_SD_CONTEXT_HND 50 -#define NWLG_SD_PC_COMPATIBLE 51 -#define NWLG_SD_PRI_CONN_HANDLE 52 -#define NWLG_SD_APP_INSTANCE_HND 53 -#define NWLG_SD_ERROR_LEVEL 54 -#define NWLG_SD_START_INFO 55 +#define NWLG_SD_ACCESS_SERVER 11 +#define NWLG_SD_AM_PM 12 +#define NWLG_SD_DAY 13 +#define NWLG_SD_DAY_OF_WEEK 14 +#define NWLG_SD_ENVAR 15 +#define NWLG_SD_FILE_SERVER 16 +#define NWLG_SD_FULL_NAME 17 +#define NWLG_SD_GREETING_TIME 18 +#define NWLG_SD_HOUR 19 +#define NWLG_SD_HOUR24 20 +#define NWLG_SD_LAST_NAME 21 +#define NWLG_SD_LOGIN_NAME 22 +#define NWLG_SD_LOGIN_CONTEXT 23 +#define NWLG_SD_MACHINE 24 +#define NWLG_SD_MINUTE 25 +#define NWLG_SD_MONTH 26 +#define NWLG_SD_MONTH_NAME 27 +#define NWLG_SD_NDAY_OF_YEAR 28 +#define NWLG_SD_NET_ADDRESS 29 +#define NWLG_SD_MAIL_STATUS 30 +#define NWLG_SD_PASSWORD_EXPIRES 31 +#define NWLG_SD_OS_VERSION 32 +#define NWLG_SD_OS_NAME 33 +#define NWLG_SD_REQ_VERSION 34 +#define NWLG_SD_REQ_CONTEXT 35 +#define NWLG_SD_SECOND 36 +#define NWLG_SD_SHORT_YEAR 37 +#define NWLG_SD_SHELL_VERSION 38 +#define NWLG_SD_SHORT_MACHINE 39 +#define NWLG_SD_STATION 40 +#define NWLG_SD_USER_OBJ 41 +#define NWLG_SD_YEAR 42 +#define NWLG_SD_CL_USER 43 +#define NWLG_SD_CL_SERVER 44 +#define NWLG_SD_PROFILE 45 +#define NWLG_SD_PASSWORD 46 +#define NWLG_SD_LOADPATH 47 +#define NWLG_SD_CMD_LINE_FLAGS 48 +#define NWLG_SD_CMD_LINE_ARG 49 +#define NWLG_SD_CONTEXT_HND 50 +#define NWLG_SD_PC_COMPATIBLE 51 +#define NWLG_SD_PRI_CONN_HANDLE 52 +#define NWLG_SD_APP_INSTANCE_HND 53 +#define NWLG_SD_ERROR_LEVEL 54 +#define NWLG_SD_START_INFO 55 #define NWLG_SD_MULTI_TREE 56 /* Extensions to the Shared Data identifier tags for Mobile */ -#define NWLG_SD_DISPLAY_ERRORS 100 -#define NWLG_SD_DISPLAY_MAPPINGS 101 -#define NWLG_SD_PARSED_NAME 102 -#define NWLG_SD_PARSED_STRING 103 -#define NWLG_SD_PARSED_CMD_TYPE 104 -#define NWLG_SD_CL_SERVER_VERSION 105 -#define NWLG_SD_CL_SERVER_TYPE 106 -#define NWLG_SD_CL_TREE 107 +#define NWLG_SD_DISPLAY_ERRORS 100 +#define NWLG_SD_DISPLAY_MAPPINGS 101 +#define NWLG_SD_PARSED_NAME 102 +#define NWLG_SD_PARSED_STRING 103 +#define NWLG_SD_PARSED_CMD_TYPE 104 +#define NWLG_SD_CL_SERVER_VERSION 105 +#define NWLG_SD_CL_SERVER_TYPE 106 +#define NWLG_SD_CL_TREE 107 /* - END OF NWLogin Shared Data identifier tags + END OF NWLogin Shared Data identifier tags */ /* - Error codes + Error codes */ #define NWLG_ERR_VERSION 0xff /* - Return codes for handlers + Return codes for handlers */ #define NWLG_OK 0 #define NWLG_RETRY 1 @@ -340,135 +361,145 @@ extern "C" { #define NWLG_SHUT_DOWN_RESTART 8 /* - END OF Return codes for handlers + END OF Return codes for handlers */ -#define NWLG_ON N_TRUE -#define NWLG_OFF N_FALSE +#define NWLG_ON N_TRUE +#define NWLG_OFF N_FALSE /* - Command Line Flag masks (NWLG_SD_CMD_LINE_FLAGS) + Command Line Flag masks (NWLG_SD_CMD_LINE_FLAGS) */ -#define NWLG_CL_FLAG_CLS 0x00000001 /* Clear screen before login */ -#define NWLG_CL_FLAG_NS 0x00000002 /* Attach to a server and do not run script */ -#define NWLG_CL_FLAG_ATTACH 0x00000002 -#define NWLG_CL_FLAG_BIND 0x00000004 /* Force bindery mode login */ -#define NWLG_CL_FLAG_TREE 0x00000008 /* name specified on cmd line is a tree name */ +#define NWLG_CL_FLAG_CLS 0x00000001 /* Clear screen before login */ +#define NWLG_CL_FLAG_NS 0x00000002 /* Attach to a server and do not run script */ +#define NWLG_CL_FLAG_ATTACH 0x00000002 +#define NWLG_CL_FLAG_UNUSED 0x00000004 /* Was bindery flag */ +#define NWLG_CL_FLAG_TREE 0x00000008 /* name specified on cmd line is a tree name */ -#define NWLG_CL_FLAG_NB 0x00000010 /* Do not show login banner */ -#define NWLG_CL_FLAG_SWAP 0x00000020 /* (DOS) Swap to mem or disk for external cmds */ -#define NWLG_CL_FLAG_NOSWAP 0x00000040 /* (DOS) Do not swap to mem or disk for external cmds */ -#define NWLG_CL_FLAG_SCRIPT 0x00000080 /* Script file name specified on command line */ +#define NWLG_CL_FLAG_NB 0x00000010 /* Do not show login banner */ +#define NWLG_CL_FLAG_SWAP 0x00000020 /* (DOS) Swap to mem or disk for external cmds */ +#define NWLG_CL_FLAG_NOSWAP 0x00000040 /* (DOS) Do not swap to mem or disk for external cmds */ +#define NWLG_CL_FLAG_SCRIPT 0x00000080 /* Script file name specified on command line */ -#define NWLG_CL_FLAG_RDF 0x00000100 /* (WIN) Restore permanent connections when done */ -#define NWLG_CL_FLAG_EXTFORK 0x00000200 /* external command is another process */ -#define NWLG_CL_FLAG_NO_DISPLAY 0x00000400 /* Do not display script results */ -#define NWLG_CL_FLAG_NA 0x00000800 /* /NA only, do not login just run scripts +#define NWLG_CL_FLAG_RDF 0x00000100 /* (WIN) Restore permanent connections when done */ +#define NWLG_CL_FLAG_EXTFORK 0x00000200 /* external command is another process */ +#define NWLG_CL_FLAG_NO_DISPLAY 0x00000400 /* Do not display script results */ +#define NWLG_CL_FLAG_NA 0x00000800 /* /NA only, do not login just run scripts /NA and /AT(/NS) login and do not run scripts */ -#define NWLG_CL_FLAG_NO_CLOSE 0x00001000 /* /NC Do not close script results */ -#define NWLG_CL_FLAG_ADVANCED 0x00002000 /* /A Advanced level login UI */ -#define NWLG_CL_FLAG_CONTINUE 0x00004000 /* /CONT accept command line and pass to API without stopping for initial UI */ -#define NWLG_CL_FLAG_SIMPLE 0x00008000 /* /SI Simple UI */ +#define NWLG_CL_FLAG_NO_CLOSE 0x00001000 /* /NC Do not close script results */ +#define NWLG_CL_FLAG_ADVANCED 0x00002000 /* /A Advanced level login UI */ +#define NWLG_CL_FLAG_CONTINUE 0x00004000 /* /CONT accept command line and pass to API without stopping for initial UI */ +#define NWLG_CL_FLAG_SIMPLE 0x00008000 /* /SI Simple UI */ -#define NWLG_CL_FLAG_MAP_ROOT_OFF 0x00010000 /* do not force map root on NT or other platform that can handle relative mapping */ +#define NWLG_CL_FLAG_MAP_ROOT_OFF 0x00010000 /* do not force map root on NT or other platform that can handle relative mapping */ #define NWLG_CL_FLAG_START_UI 0x00020000 /* Internal flag to that start_UI in progress */ -#define NWLG_CL_FLAG_RUN_SCRIPT 0x20000000 /* Internal flag to run scripts */ -#define NWLG_CL_FLAG_CLEAR_CONN 0x40000000 /* Internal flag to clear connection (logout) before login */ -#define NWLG_CL_FLAG_DEBUG 0x80000000 /* API in debug mode */ +#define NWLG_CL_FLAG_DUI 0x00040000 /* Internal flag to set skipUI = NWLG_OPTION_ON | NWLG_DISABLE_UI */ +#define NWLG_CL_FLAG_STATE_ADVANCED 0x00080000 /* Internal flag to force the Advanced dialog to display */ + +#define NWLG_CL_FLAG_FPW 0x00100000 /* Internal flag to signal Forgotten Password Invocation */ + +#define NWLG_CL_FLAG_RUN_SCRIPT 0x20000000 /* Internal flag to run scripts */ +#define NWLG_CL_FLAG_CLEAR_CONN 0x40000000 /* Internal flag to clear connection (logout) before login */ +#define NWLG_CL_FLAG_DEBUG 0x80000000 /* API in debug mode */ /* Map flags */ -#define NWLG_MAP_FLAG_INSERT 0x00000001 -#define NWLG_MAP_FLAG_ROOT 0x00000002 -#define NWLG_MAP_FLAG_PHYSICAL 0x00000004 +#define NWLG_MAP_FLAG_INSERT 0x00000001 +#define NWLG_MAP_FLAG_ROOT 0x00000002 +#define NWLG_MAP_FLAG_PHYSICAL 0x00000004 /* - Get Service connection type flags + Get Service connection type flags */ -#define NWLG_CONN_GET_DEFAULT 0 -#define NWLG_CONN_GET_SERVER 1 -#define NWLG_CONN_GET_TREE 2 +#define NWLG_CONN_GET_DEFAULT 0 +#define NWLG_CONN_GET_SERVER 1 +#define NWLG_CONN_GET_TREE 2 /* - Known Service types + Known Service types */ -#define NWLG_TYPE_DS 0 -#define NWLG_TYPE_BINDERY 1 -#define NWLG_TYPE_HOST_OS 9 +#define NWLG_TYPE_DS 0 +#define NWLG_TYPE_BINDERY 1 +#define NWLG_TYPE_HOST_OS 9 /* - Message type and login process definitions. - Allows room for future expansion and definitions - Defines are used mainly for defining what type of messages are - sent to IO routines. - The first defines show what part of the login process we are in. - The NWLG_MSGTYP_... are || with _PROC_ to indicate specific message type within - process. Currently, the only one that is looked at is _MSGTYP_ERROR in + Message type and login process definitions. + Allows room for future expansion and definitions + Defines are used mainly for defining what type of messages are + sent to IO routines. + The first defines show what part of the login process we are in. + The NWLG_MSGTYP_... are || with _PROC_ to indicate specific message type within + process. Currently, the only one that is looked at is _MSGTYP_ERROR in IO event NWLG_IO_DATA_BLOCK */ -#define NWLG_PROC 0x00ff -#define NWLG_PROC_INIT 0x0000 -#define NWLG_PROC_LOGIN 0x0010 -#define NWLG_PROC_SCRIPT 0x0020 -#define NWLG_PROC_TERM 0x0040 +#define NWLG_PROC 0x00ff +#define NWLG_PROC_INIT 0x0000 +#define NWLG_PROC_LOGIN 0x0010 +#define NWLG_PROC_SCRIPT 0x0020 +#define NWLG_PROC_TERM 0x0040 -#define NWLG_MSGTYP 0xff00 -#define NWLG_MSGTYP_INFO 0x0100 -#define NWLG_MSGTYP_ERROR 0x0200 -#define NWLG_MSGTYP_SCRIPT 0x0400 +#define NWLG_MSGTYP 0xff00 +#define NWLG_MSGTYP_INFO 0x0100 +#define NWLG_MSGTYP_ERROR 0x0200 +#define NWLG_MSGTYP_SCRIPT 0x0400 /************************ Handler definitions ********************/ /* - I/O handler events + I/O handler events */ #define NWLG_IO_MSG_PAUSE 0 #define NWLG_IO_IDENTITY 1 #define NWLG_IO_YES_NO 2 -#define NWLG_IO_EXP_PWD 22 #define NWLG_IO_DATA_BLOCK 3 -#define NWLG_IO_BANNER 4 -#define NWLG_IO_FILE 5 -#define NWLG_IO_ERROR 6 -#define NWLG_IO_CLS 7 -#define NWLG_IO_SOUNDS 8 -#define NWLG_IO_CHANGE_PWD 9 -#define NWLG_IO_PWD_CHG 1 -#define NWLG_IO_PWD_SYNC 0 -#define NWLG_IO_CONFIRM_REATTACH 10 -#define NWLG_IO_DOS_SWAP_PATH 11 -#define NWLG_IO_START_UI 12 -#define NWLG_IO_FINISH_UI 13 -#define NWLG_IO_START_LOG 14 -#define NWLG_IO_FINISH_LOG 15 -#define NWLG_IO_WAIT 16 +#define NWLG_IO_BANNER 4 +#define NWLG_IO_FILE 5 +#define NWLG_IO_ERROR 6 +#define NWLG_IO_CLS 7 +#define NWLG_IO_SOUNDS 8 +#define NWLG_IO_CHANGE_PWD 9 +#define NWLG_IO_CONFIRM_REATTACH 10 +#define NWLG_IO_DOS_SWAP_PATH 11 +#define NWLG_IO_START_UI 12 +#define NWLG_IO_FINISH_UI 13 +#define NWLG_IO_START_LOG 14 +#define NWLG_IO_FINISH_LOG 15 +#define NWLG_IO_WAIT 16 +#define NWLG_IO_GET_TEXT 17 + +#define NWLG_IO_EXP_PWD 22 +#define NWLG_IO_LOGIN_CR 23 + +#define NWLG_IO_PWD_CHG 1 +#define NWLG_IO_PWD_SYNC 0 + #define NWLG_IO_WAIT_ON 1 #define NWLG_IO_WAIT_OFF 0 -#define NWLG_IO_BRING_TO_FRONT 99 +#define NWLG_IO_BRING_TO_FRONT 99 /* IO routine optional extensions */ -#define NWLG_IO_GET_DATA_LINE 900 -#define NWLG_IO_GET_DATA_BUF 901 +#define NWLG_IO_GET_DATA_LINE 900 +#define NWLG_IO_GET_DATA_BUF 901 #if defined (N_PLAT_MSW) /* Special values for the progress to NWMLGUIUpdate(). A positive integer indicates the line count of a disconnected script */ -#define NWLG_UIU_LOGIN_BEGIN (-1) // Connected/Disconnected: output dialog opens -#define NWLG_UIU_LOGIN_PROPER_UPDATE (-2) // Connected: regular update from login proper (called many times) -#define NWLG_UIU_SCRIPTS_BEGIN (-3) // Connected/Disconnected: signal that login proper is complete and scripts are about to run -#define NWLG_UIU_END_OF_SCRIPT (-4) // Connected: signal that a script has closed -#define NWLG_UIU_ALL_PROCESSING_COMPLETE (-5) // Connected/Disconnected: all login and script processing done -#define NWLG_UIU_DISC_SCRIPT_LINE (-6) // Disconnected: signal that a new line is about to execute -#define NWLG_UIU_ABORTED_INCOMPLETE (-7) // Connected/Disconnected: user aborted from debug dialog with script exec incomplete +#define NWLG_UIU_LOGIN_BEGIN (-1) // Connected/Disconnected: output dialog opens +#define NWLG_UIU_LOGIN_PROPER_UPDATE (-2) // Connected: regular update from login proper (called many times) +#define NWLG_UIU_SCRIPTS_BEGIN (-3) // Connected/Disconnected: signal that login proper is complete and scripts are about to run +#define NWLG_UIU_END_OF_SCRIPT (-4) // Connected: signal that a script has closed +#define NWLG_UIU_ALL_PROCESSING_COMPLETE (-5) // Connected/Disconnected: all login and script processing done +#define NWLG_UIU_DISC_SCRIPT_LINE (-6) // Disconnected: signal that a new line is about to execute +#define NWLG_UIU_ABORTED_INCOMPLETE (-7) // Connected/Disconnected: user aborted from debug dialog with script exec incomplete #endif /* - Event manager return codes + Event manager return codes */ #define NWLG_EVT_OK NWLG_OK @@ -478,7 +509,7 @@ extern "C" { #define NWLG_EVT_IGNORE NWLG_IGNORE #define NWLG_EVT_STOP_CYCLE NWLG_STOP_CYCLE /* - Event delivery types + Event delivery types */ #define NWLG_EVT_SYSTEM 0 @@ -487,35 +518,26 @@ extern "C" { #define NWLG_EVT_UNTIL_OK 3 #define NWLG_EVT_UNTIL_FAIL 4 -/* - -> NT ONLY - Defines for restartMode in startinfo structure. - Normal processing is NONE. Initial login on Wnt require that we authenticate - then roll out to login to the workstation. Login is then restarted after - the authenticate. - GINA flag indicates that GINA does initial login (password expiration handled - differently) -*/ #define NWLG_RESTART_NONE 0x0000 /* only set during initial pass of NT login */ #define NWLG_RESTART_AUTH_ONLY 0x0001 #define NWLG_RESTART_SCRIPT 0x0002 /* only set if netware authentication is performed in another module */ #define NWLG_RESTART_ALT_AUTH 0x0004 +#define NWLG_RESTART_UNLOCK 0x0008 #define NWLG_RESTART_CITRIX_AUTH 0x0080 -#define NWLG_RESTART_NETWARE_LOGIN 0x0100 -#define NWLG_RESTART_PRIMARY_LOGIN 0x4000 -#define NWLG_RESTART_GINA_AUTH 0x8000 +#define NWLG_RESTART_NETWARE_LOGIN 0x0100 +#define NWLG_RESTART_PRIMARY_LOGIN 0x4000 /* - Flag set/clear/test macros + Flag set/clear/test macros */ -#define NWLGSetFlag( flag, var ) ((var) = (flag) | (var)) -#define NWLGSetFlagP( flag, pvar ) ((*pvar) = (flag) | (*pvar)) +#define NWLGSetFlag( flag, var ) ((var) = (flag) | (var)) +#define NWLGSetFlagP( flag, pvar ) ((*pvar) = (flag) | (*pvar)) -#define NWLGClearFlag( flag, var ) ((var) = (~(flag)) & (var)) -#define NWLGClearFlagP( flag, pvar ) ((*pvar) = (~(flag)) & (*pvar)) +#define NWLGClearFlag( flag, var ) ((var) = (~(flag)) & (var)) +#define NWLGClearFlagP( flag, pvar ) ((*pvar) = (~(flag)) & (*pvar)) #define NWLGTestFlag( flag, var ) (((var) & (flag)) ? N_TRUE : N_FALSE) #define NWLGTestFlagP( flag, pvar ) (((*pvar) & (flag)) ? N_TRUE : N_FALSE) @@ -523,84 +545,84 @@ extern "C" { /*** Version information ***/ -#define NWLG_MAJOR_VER 1 -#define NWLG_MINOR_VER 0 -#define NWLG_REV_VER 7 - +#define NWLG_MAJOR_VER 5 +#define NWLG_MINOR_VER 0 +#define NWLG_REV_VER 0 + #define NWLGSetVersionP( pVersion ) pVersion->major = NWLG_MAJOR_VER;\ pVersion->minor=NWLG_MINOR_VER;pVersion->revision = NWLG_REV_VER; #define NWLGSetVersion( version ) version.major = NWLG_MAJOR_VER;\ version.minor=NWLG_MINOR_VER;version.revision = NWLG_REV_VER; - + #define NWLGVersionLong( version ) (unsigned long) (version.major * 1000000L \ - + version.minor * 1000 \ - + version.revision) + + version.minor * 1000 \ + + version.revision) #define NWLGVersionLongP( pVersion ) (unsigned long) (pVersion->major * 1000000L \ - + pVersion->minor * 1000 \ - + pVersion->revision) + + pVersion->minor * 1000 \ + + pVersion->revision) #define NWLGVersionLongV( major, minor, revision ) (unsigned long) (major * 1000000L \ - + minor * 1000 + revision) -#define NWLG_CURRENT_VERSION NWLGUIVersionLongV( NWLG_MAJOR_VER, NWLG_MINOR_VER, NWLG_REV_VER ) + + minor * 1000 + revision) +#define NWLG_CURRENT_VERSION NWLGUIVersionLongV( NWLG_MAJOR_VER, NWLG_MINOR_VER, NWLG_REV_VER ) typedef struct tagNWLGAccessRec N_FAR * pNWLGAccessRec; N_TYPEDEF_CALLBACK( NWCCODE, pEVTSend ) ( - nint deliveryType, - pNWLGAccessRec pAccess, - nint event, - nint eventType, - nint eventSubType, - nparam param1, - nparam param2, - nflag32 flags + nint deliveryType, + pNWLGAccessRec pAccess, + nint event, + nint eventType, + nint eventSubType, + INT_PTR param1, + INT_PTR param2, + nflag32 flags ); N_TYPEDEF_CALLBACK( NWCCODE, pEvtHndlr ) ( - pNWLGAccessRec pAccess, - nint event, - nint eventType, - nint eventSubType, - nparam param1, - nparam param2, - nflag32 flag + pNWLGAccessRec pAccess, + nint event, + nint eventType, + nint eventSubType, + INT_PTR param1, + INT_PTR param2, + nflag32 flag ); N_TYPEDEF_CALLBACK( NWCCODE, pIOHndlr ) ( - pNWLGAccessRec pAccess, - nint ioEvent, - nparam param1, - nparam param2, - nflag32 flags + pNWLGAccessRec pAccess, + nint ioEvent, + INT_PTR param1, + INT_PTR param2, + nflag32 flags ); #if defined(__BORLANDC__) // Don't pack the structs. -# pragma option -a +# pragma option -a #elif defined(N_ARCH_16) -# pragma pack(2) +# pragma pack(2) #else -# pragma pack(4) +# pragma pack(4) #endif typedef struct tagNWLGAccessRec { - nid id; /* event handlers' unique id assigned by NWLogin */ - NWCCODE status; /* NWLG_OK, ... */ - NWRCODE errCode; /* Additional error code information */ - pEvtHndlr pEventHandler; /* callback to extension Event Handler */ - pEvtHndlr pExceptionHandler; /* callback to extension Exception Handler */ - pIOHndlr pIOHandler; /* callback to extension IO Event Handler */ - nptr pUserData; /* optional extension defined data pointer */ + INT_PTR id; /* event handlers' unique id assigned by NWLogin */ + NWCCODE status; /* NWLG_OK, ... */ + NWRCODE errCode; /* Additional error code information */ + pEvtHndlr pEventHandler; /* callback to extension Event Handler */ + pEvtHndlr pExceptionHandler; /* callback to extension Exception Handler */ + pIOHndlr pIOHandler; /* callback to extension IO Event Handler */ + nptr pUserData; /* optional extension defined data pointer */ } NWLGAccessRec; typedef struct tagNWVersion { - nuint16 major; - nuint8 minor; - nuint8 revision; + nuint16 major; + nuint8 minor; + nuint8 revision; } NWVersion; typedef NWVersion N_FAR * pNWVersion; @@ -614,7 +636,7 @@ typedef NWVersion N_FAR * pNWVersion; typedef struct tagNWLGStartInfoData { nuint32 id; - struct tagNWLGStartInfoData *next; + struct tagNWLGStartInfoData *next; nptr data; } NWLGStartInfoData; @@ -624,7 +646,7 @@ typedef NWLGStartInfoData N_FAR * pNWLGStartInfoData; typedef struct tagNWLGStringElement { pnstr text; - struct tagNWLGStringElement *next; + struct tagNWLGStringElement *next; } NWLGStringElement; typedef NWLGStringElement N_FAR * pNWLGStringElement; @@ -633,7 +655,7 @@ typedef NWLGStringElement N_FAR * pNWLGStringElement; typedef struct tagNWLGStartInfoCmdArgs { pnstr arg; - struct tagNWLGStartInfoCmdArgs *next; + struct tagNWLGStartInfoCmdArgs *next; nint argLen; } NWLGStartInfoCmdArgs; @@ -646,10 +668,10 @@ typedef NWLGStartInfoCmdArgs N_FAR * pNWLGStartInfoCmdArgs; typedef struct tagNWLGStartInfo { - NWVersion APIVersion; - pNWLGStartInfoData dataList;// linked list pointer or NULL - pEVTSend pNWLGEVTSend; - nint useStartInfo; // TRUE= info in structure, FALSE= info in cmdline + NWVersion APIVersion; + pNWLGStartInfoData dataList;// linked list pointer or NULL + pEVTSend pNWLGEVTSend; + nint useStartInfo; // NWLG_STARTINFO_NONE:0, NWLG_STARTINFO_USE:1, NWLG_STARTINFO_CMDLINE:2 nint serverLen; pnstr server; // server to log into nint treeLen; @@ -672,7 +694,7 @@ typedef struct tagNWLGStartInfo pnstr swapPath; // DOS only pNWLGStartInfoCmdArgs cmdLine;// linked list of command line args (%2 %3 %4...%MAX_SCRIPT_ARGS+2) nbool noBanner; - nbool bindery; // force bindery conns + nbool _unused; // force bindery conns nbool clearConns; // combination of /NS nbool clearScreen; // cmd line versions nbool singleTree; // TRUE = do not allow multi-tree login @@ -683,46 +705,60 @@ typedef struct tagNWLGStartInfo nptr pData; /** Start Version 1.0.1 **/ nint restartMode; /* NT - 0=Full Login, 1=Authenticate only, 2=Restart at Script NWLG_RESTART_... */ nbool disableLoginExt; /* TRUE do not allow extensions */ - HWND hwndParent; /* HWND to treat as this DLL's main window */ - nuint32 NWMLGFlags; /* Mobile flags */ - nuint32 callingModule; // + HWND hwndParent; /* HWND to treat as this DLL's main window */ + nuint32 NWMLGFlags; /* Mobile flags */ + nuint32 callingModule; // pnstr providerName; // Shell Login Extension DLL name (NOVELLNP, EDCMOBILE...) - pEvtHndlr providerCallBack; // used to call back W95 provider (not implemented) - pEvtHndlr pReserved1; // future FN pointers - pEvtHndlr pReserved2; // future FN pointers - pEvtHndlr pReserved3; // future FN pointers + pEvtHndlr providerCallBack; // used to call back W95 provider (not implemented) + pEvtHndlr pReserved1; // future FN pointers + pEvtHndlr pReserved2; // future FN pointers + pEvtHndlr pReserved3; // future FN pointers // 04-02-98 Make available for all 32bit platforms - start - // #if defined (N_ARCH_32) IKM- Removed ifdef 08-23-99 as per Ransom's suggestion to make this available to ALL platforms + // #if defined (N_ARCH_32) IKM- Removed ifdef 08-23-99 as per Ransom's suggestion to make this available to ALL platforms NWCONN_HANDLE expiredConnID; - nstr expiredPassword[MAX_DN_BYTES]; /* password that expired */ + nstr expiredPassword[MAX_DN_BYTES]; /* password that expired */ nstr expiredServiceName[NW_MAX_SERVER_NAME_BYTES]; /* server or tree name or workstation description (WindowsNT...) */ nint expiredServiceType; /* NDS or BINDERY */ - nbool expiredDSbinderyServer; /* ds server attached bindery mode SPD 47924 */ - nbool expiredPrimaryLogin; /* is this from the initial or primary login */ + nbool expiredDSbinderyServer; /* ds server attached bindery mode SPD 47924 */ + nbool expiredPrimaryLogin; /* is this from the initial or primary login */ nbool expiredWkstaPassword; - nstr expiredWkstaNewPassword[MAX_DN_BYTES]; - // #endif IKM- Removed ifdef 08-23-99 as per Ransom's suggestion to make this available to ALL platforms + nstr expiredWkstaNewPassword[MAX_DN_BYTES]; + // #endif IKM- Removed ifdef 08-23-99 as per Ransom's suggestion to make this available to ALL platforms // 04-02-98 Make available for all 32bit platforms - end } NWLGStartInfo; typedef NWLGStartInfo N_FAR * pNWLGStartInfo; -/* IDs for items found in linked list 'dataList' */ -#define NWLGID_COMMAND_LINE 0x00000000L /* Command-line string */ -#define NWLGID_SI 0x00000001L /* NWLGStartInfo */ -#define NWLGID_SI_ORIG 0x00000002L /* Original NWLGStartInfo */ -#define NWLGID_UI 0x00000011L /* NWLGUIStartInfo */ -#define NWLGID_UI_ORIG 0x00000012L /* Original NWLGUIStartInfo */ -#define NWLGID_SSO 0x00000040L /* NWLGSSOInfo */ +/* IDs for items found in linked list 'dataList' */ +#define NWLGID_COMMAND_LINE 0x00000000L /* Command-line string */ +#define NWLGID_SI 0x00000001L /* NWLGStartInfo */ +#define NWLGID_SI_ORIG 0x00000002L /* Original NWLGStartInfo */ +#define NWLGID_UI 0x00000011L /* NWLGUIStartInfo */ +#define NWLGID_UI_ORIG 0x00000012L /* Original NWLGUIStartInfo */ + +// +// Other NWLGStartInfoData ID types not defined here: +// +// #define NWLGID_LOCKED_9X 0x00000023 /* UNLOCK.H */ +// #define NWLGID_CMD_LINE_INFO 0x00000030 /* NWLGUICL.H */ +// #define NWLGID_TAB_BINDERY 0x00000031 /* AXBNDRYTAB.H */ +// #define NWLGID_TAB_CRED 0x00000032 /* AXCREDTAB.H */ +// #define NWLGID_TAB_CREDNT 0x00000033 /* AXCREDNTTAB.H */ +// #define NWLGID_TAB_DIALUP 0x00000034 /* AXDIALTAB.H */ +// #define NWLGID_TAB_NDS 0x00000035 /* AXNDSTAB.H */ +// #define NWLGID_TAB_SCRIPT 0x00000036 /* AXSCRIPTTAB.H */ +// #define NWLGID_NMAS 0x00000055 /* NWLNMAS.H */ +// #define NWLGID_UI_CONTAINER 0x00000056 /* LOGW32DLG.H */ +// /* End of StartInfo */ /***************************************************************************/ typedef struct tagNWLGMapRec { - nchar driveLetter; /* NULL char for next drive i.e. c = (char)0 */ - nuint searchOrder; /* 0 for not a search drive */ - pnstr path; /* call NWParsePath to get it parsed */ + nchar driveLetter; /* NULL char for next drive i.e. c = (char)0 */ + nuint searchOrder; /* 0 for not a search drive */ + pnstr path; /* call NWParsePath to get it parsed */ } NWLGMapRec; @@ -733,85 +769,86 @@ typedef NWLGMapRec N_FAR * pNWLGMapRec; typedef struct tagNWLGUserIDStruct { - NWDSContextHandle context; - pnstr server; - pnstr user; - pnstr password; - nbool changeServer; /* allow server/tree to change */ + NWDSContextHandle context; + pnstr server; + pnstr user; + pnstr password; + nbool changeServer; /* allow server/tree to change */ nbool DSLogin; /* NDS or bindery login */ - NWCONN_HANDLE connID; - nptr data; - nflag32 flags; + NWCONN_HANDLE connID; + nptr data; + nflag32 flags; pnstr tree; pnstr szContext; nbool treeLogin; /* tree or server login */ + char hintMagic[4]; /* if set to "HINT" then pointer to string follows */ + pnstr pHint; } NWLGUserID; -typedef NWLGUserID N_FAR * pNWLGUserID; +typedef NWLGUserID N_FAR * pNWLGUserID; typedef struct tagNWLGSrvcConnStruct { - pnstr server; /* connect(ed) to server name */ - pnstr tree; /* connect(ed) to tree name */ - nint serviceType; /* server, tree or default */ - pnint connType; - NWCONN_HANDLE N_FAR *connID; + pnstr server; /* connect(ed) to server name */ + pnstr tree; /* connect(ed) to tree name */ + nint serviceType; /* server, tree or default */ + pnint connType; + NWCONN_HANDLE N_FAR *connID; } NWLGSrvcConn; -typedef NWLGSrvcConn N_FAR * pNWLGSrvcConn; +typedef NWLGSrvcConn N_FAR * pNWLGSrvcConn; typedef struct tagNWLGScriptInfoStruct { - nint idx; - nint scriptNameLen; - pnstr scriptName; - nint len; - pnstr line; - nint scriptLineNum; - nbool crt; - struct CLoginScript* OloginScript; // ref to C++ CLoginScript instance + nint idx; + nint scriptNameLen; + pnstr scriptName; + nint len; + pnstr line; + nint scriptLineNum; + nbool crt; + struct CLoginScript* OloginScript; // ref to C++ CLoginScript instance } NWLGScriptInfo; -typedef NWLGScriptInfo N_FAR * pNWLGScriptInfo; +typedef NWLGScriptInfo N_FAR * pNWLGScriptInfo; -#if defined(__BORLANDC__) // Restore to compiler specified. -# pragma option -a. +#if defined(__BORLANDC__) // Restore to compiler specified. +# pragma option -a. #else -# pragma pack() +# pragma pack() #endif /************************ NWLOGIN API's ********************/ - N_EXTERN_LIBRARY( NWCCODE ) - NWLoginInit - ( - pNWLGAccessRec pAccess, - pNWVersion pCompiledVersion, - pNWVersion pRuntimeVersion - ); + N_EXTERN_LIBRARY( NWCCODE ) + NWLoginInit + ( + pNWLGAccessRec pAccess, + pNWVersion pRuntimeVersion + ); - N_EXTERN_LIBRARY( NWCCODE ) - NWLogin - ( - pNWLGAccessRec pAccess, - pnstr cmdLine, - pnstr password, + N_EXTERN_LIBRARY( NWCCODE ) + NWLogin + ( + pNWLGAccessRec pAccess, + pnstr cmdLine, + pnstr password, pNWLGStartInfo infoStruct - ); + ); - N_EXTERN_LIBRARY( NWCCODE ) - NWLoginTerm - ( - pNWLGAccessRec pAccess, - nflag32 reserved - ); + N_EXTERN_LIBRARY( NWCCODE ) + NWLoginTerm + ( + pNWLGAccessRec pAccess, + nflag32 reserved + ); - N_EXTERN_LIBRARY( void ) - NWLoginVersion - ( - pNWVersion pRuntimeVersion - ); + N_EXTERN_LIBRARY( void ) + NWLoginVersion + ( + pNWVersion pRuntimeVersion + ); N_EXTERN_LIBRARY( nbool ) NWLGBringLoginToFront @@ -822,89 +859,94 @@ typedef NWLGScriptInfo N_FAR * pNWLGScriptInfo; N_EXTERN_LIBRARY( NWCCODE ) NWLGDefaultEvtHandler ( - pNWLGAccessRec pAccess, - nint event, - nint eventType, - nint eventSubType, - nparam param1, - nparam param2, - nflag32 flags + pNWLGAccessRec pAccess, + nint event, + nint eventType, + nint eventSubType, + INT_PTR param1, + INT_PTR param2, + nflag32 flags ); N_EXTERN_LIBRARY( NWCCODE ) NWLGDefaultExcptHandler ( - pNWLGAccessRec pAccess, - nint event, - nint eventType, - nint eventSubType, - nparam param1, - nparam param2, - nflag32 flags + pNWLGAccessRec pAccess, + nint event, + nint eventType, + nint eventSubType, + INT_PTR param1, + INT_PTR param2, + nflag32 flags ); N_EXTERN_LIBRARY( NWCCODE ) NWLGDefaultIOHandler ( - pNWLGAccessRec pAccess, - nint ioEvent, - nparam param1, - nparam param2, - nflag32 flags + pNWLGAccessRec pAccess, + nint ioEvent, + nparam param1, + nparam param2, + nflag32 flags ); - N_EXTERN_LIBRARY( NWCCODE ) - NWLGGetLoginData - ( - nint identifier, /* NWLG_SD_... value*/ + N_EXTERN_LIBRARY( NWCCODE ) + NWLGGetLoginData + ( + nint identifier, /* NWLG_SD_... value*/ nint itemIndex, /* 0 or 0.. for multi valued */ - nptr retvalue, - nint len - ); + nptr retvalue, + nint len + ); - N_EXTERN_LIBRARY( NWCCODE ) - NWLGSetLoginData - ( - nint identifier, + N_EXTERN_LIBRARY( NWCCODE ) + NWLGSetLoginData + ( + nint identifier, nint itemIndex, - nptr value - ); + INT_PTR value + ); - N_EXTERN_LIBRARY( NWCCODE ) - NWLGOpenScriptFD - ( - nint fd, - nbool crt, - pnint ccode - ); + N_EXTERN_LIBRARY( NWCCODE ) + NWLGOpenScriptFD + ( + nint fd, + nbool crt, + pnint ccode + ); - N_EXTERN_LIBRARY( void ) - NWLGSetCtrlBreak - ( - void - ); + N_EXTERN_LIBRARY( void ) + NWLGSetCtrlBreak + ( + void + ); N_EXTERN_LIBRARY( NWCCODE ) NWLGEVTSend ( - nint deliveryType, - pNWLGAccessRec pAccess, - nint event, - nint eventType, - nint eventSubType, - nparam param1, - nparam param2, - nflag32 flags + nint deliveryType, + pNWLGAccessRec pAccess, + nint event, + nint eventType, + nint eventSubType, + INT_PTR param1, + INT_PTR param2, + nflag32 flags ); N_EXTERN_LIBRARY( NWCCODE ) NWLGIOEVTSend ( - pNWLGAccessRec pAccess, - nint ioEvent, - nparam param1, - nparam param2, - nflag32 flags + pNWLGAccessRec pAccess, + nint ioEvent, + INT_PTR param1, + INT_PTR param2, + nflag32 flags + ); + N_EXTERN_LIBRARY( NWCCODE ) + _NWLGGetInitialConn + ( + pNWLGAccessRec pAccess ); #ifdef __cplusplus } diff --git a/CASA/logincapture/windows/lextend.cpp b/CASA/logincapture/windows/lextend.cpp index 61791433..6382ab33 100644 --- a/CASA/logincapture/windows/lextend.cpp +++ b/CASA/logincapture/windows/lextend.cpp @@ -331,8 +331,8 @@ N_GLOBAL_CALLBACK(NWCCODE) OurIOHandler( pNWLGAccessRec pAccess, nint ioEvent, - nparam param1, - nparam param2, + INT_PTR param1, + INT_PTR param2, nflag32 flags ) //=======================================================================--