%%%%%%%%%%% $OpenXM: OpenXM/src/kan96xx/Doc/ox-win.sm1,v 1.18 2002/07/31 02:57:37 takayama Exp $ (ox-win.start.noiconic) boundp { /ox-win.start.iconic 0 def }{ /ox-win.start.iconic 1 def } ifelse /ox-win.sm1.loaded 1 def (ox.sm1.loaded) boundp { }{ [(parse) (ox.sm1) pushfile] extension pop } ifelse $ox-win.sm1, ---OpenXM protocol module for Microsoft Windows 1/9, 2002 (C) N.Takayama.$ message-quiet %%%%%%%%%%%% Configuration: Specify your server path %%%%% ox, ox_sm1, oxlog are contained in kxx.tgz %%%%% These should be under /usr/local/lib/sm1 or LOAD_SM1_PATH %% This variable is used in sm1connectr_win %% It should be set, for example, to c:/cygwin/home/nobuki/OpenXM %% See kan96xx/win/websm1.bat [(getenv) (OPENXMHOMEWIN)] extension /OpenXM_HOME_WIN set OpenXM_HOME_WIN tag 0 eq { [(getenv) (OpenXM_HOME)] extension /OpenXM_HOME_WIN set } { } ifelse OpenXM_HOME_WIN tag 0 eq { %% Hard encoding: /OpenXM_HOME_WIN (\OpenXM-win) % (\cygwin\home\nobuki\OpenXM\misc\packages\Windows\OpenXM-win) def } { } ifelse /ox.win.set.start { [(stat) (c:\windows\system32\cmd.exe)] extension 0 get 0 eq { /ox.win.start [(c:\windows\system32\cmd.exe) (/c) (start) ox-win.start.iconic { (/min) } { } ifelse ] def }{ [(stat) (c:\winnt\system32\cmd.exe)] extension 0 get 0 eq { /ox.win.start [(c:\winnt\system32\cmd.exe) (/c) (start) ox-win.start.iconic { (/min) } { } ifelse ] def }{ /ox.win.start [ (start) ox-win.start.iconic { (/min) } { } ifelse ] def } ifelse } ifelse } def ox.win.set.start %% This is used in asirconnectr_win /OX_LAUNCH (c:\home\asir\bin\ox_launch.exe) def %%%%%%%%%%%%%%% end configuration %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Set constants for windows. [(getenv) (OSTYPE)] extension tag 0 eq { /ox.ostype (native-windows) def }{ [(getenv) (OSTYPE)] extension /ox.ostype set } ifelse ox.ostype (cygwin) eq { /oxpath.ox (bin/ox.exe) def /oxpath.oxsm1 (bin/ox_sm1.exe) def /oxpath.oxlog (bin/oxlog.exe) def /oxpath.xterm (start /min ) def /oxpath.null ( ) def /oxpath.null00 ( >& /dev/null ) def %%cf. oxNoX /oxpath.null00-pure-sh ( 2>&1 >/dev/null) def %%TODO:It does not work in our case }{ /oxpath.ox [ OpenXM_HOME_WIN (\bin\ox.exe) ] cat def } ifelse /sm1connectr { [(getenv) (OSTYPE)] extension tag 0 eq { sm1connectr_win }{ [(getenv) (OSTYPE)] extension (cygwin) eq { sm1connectr_cygwin }{ sm1connectr_win }ifelse } ifelse } def %% For cygwin /sm1connectr_cygwin { [/in-sm1connectr /pass /peer /data /control ] pushVariables [ /pass [(oxGenPass)] extension def /peer [(oxGetPort) (localhost)] extension def /data peer 1 get toString def /control peer 3 get toString def peer message [oxpath.xterm ( ox ) ( -reverse -ox ) OpenXM_HOME_WIN (bin/ox_sm1.exe) ( -data ) data ( -control ) control ( -pass ) pass ( -wait 2 ) oxpath.null ( )] cat system [(oxCreateClient2) peer 0 pass] extension /ox.ccc set %% 0 means connect from only localhost. (The server is binded to the variable ox.ccc) message ox.ccc.init ] pop popVariables } def %% For Native windows system /sm1connectr_win { [/in-sm1connectr /pass /peer /data /control ] pushVariables [ /pass [(oxGenPass)] extension def /peer [(oxGetPort) (localhost)] extension def /data peer 1 get toString def /control peer 3 get toString def peer message (Hello ) message [(forkExec) [ ox.win.start aload pop %%(c:\windows\system32\cmd.exe) (/c) (start) oxpath.ox (-reverse) (-ox) [OpenXM_HOME_WIN (\bin\ox_sm1.exe)] cat (-data) data (-control) control (-pass) pass ] [ ] 3] extension [(oxCreateClient2) peer 0 pass] extension /ox.ccc set %% 0 means connect from only localhost. (The server is binded to the variable ox.ccc) message ox.ccc.init ] pop popVariables } def %% Test /asirconnectr_win_test { [/in-sm1connectr /pass /peer /data /control ] pushVariables [ /pass [ ] cat def %% Do not use one time password. /peer [(oxGetPort) (localhost)] extension def /data peer 1 get toString def /control peer 3 get toString def peer message [control data] message [(forkExec) [OX_LAUNCH (ox_launch) (localhost) (0) control toString data toString (ox_asir) (1) ] [ ] 7 %% 1 1 1 ] extension ; [(oxCreateClient2) peer 0 pass] extension /oxasir.ccc set %% 0 means connect from only localhost. (The server is binded to the variable oxasir.ccc) message %% Initialization code for asir. ] pop popVariables } def %% Skip it. initializePathNamesForOx