=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/ox-win.sm1,v retrieving revision 1.7 retrieving revision 1.19 diff -u -p -r1.7 -r1.19 --- OpenXM/src/kan96xx/Doc/ox-win.sm1 2001/08/22 02:36:34 1.7 +++ OpenXM/src/kan96xx/Doc/ox-win.sm1 2002/07/31 04:09:16 1.19 @@ -1,9 +1,19 @@ -%%%%%%%%%%% $OpenXM: OpenXM/src/kan96xx/Doc/ox-win.sm1,v 1.6 2001/08/12 03:13:35 takayama Exp $ +%%%%%%%%%%% $OpenXM: OpenXM/src/kan96xx/Doc/ox-win.sm1,v 1.18 2002/07/31 02:57:37 takayama Exp $ -[(parse) (ox.sm1) pushfile] extension pop +(ox-win.start.noiconic) boundp { + /ox-win.start.iconic 0 def +}{ + /ox-win.start.iconic 1 def +} ifelse -$ox-win.sm1, ---OpenXM protocol module for Microsoft Windows 08/22, 2001 (C) N.Takayama.$ message-quiet +/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 @@ -17,19 +27,94 @@ 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 -/oxpath.ox (bin/ox.exe) def -/oxpath.oxsm1 (bin/ox_sm1.exe) def -/oxpath.oxlog (bin/oxlog.exe) def -/oxpath.xterm (start ) 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 +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 [ @@ -38,12 +123,14 @@ OpenXM_HOME_WIN tag 0 eq { /data peer 1 get toString def /control peer 3 get toString def peer message + (Hello ) message [(forkExec) [ - (c:/windows/command/start) - [OpenXM_HOME_WIN (/bin/ox)] cat + ox.win.start aload pop +%%(c:\windows\system32\cmd.exe) (/c) (start) + oxpath.ox (-reverse) (-ox) - [OpenXM_HOME_WIN (/bin/ox_sm1.exe)] cat + [OpenXM_HOME_WIN (\bin\ox_sm1.exe)] cat (-data) data (-control) @@ -61,7 +148,8 @@ OpenXM_HOME_WIN tag 0 eq { popVariables } def -/asirconnectr_win { +%% Test +/asirconnectr_win_test { [/in-sm1connectr /pass /peer /data /control ] pushVariables [ /pass [ ] cat def %% Do not use one time password. @@ -91,4 +179,4 @@ OpenXM_HOME_WIN tag 0 eq { popVariables } def -initializePathNamesForOx %% This should be +%% Skip it. initializePathNamesForOx