=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/ox-win.sm1,v retrieving revision 1.7 retrieving revision 1.13 diff -u -p -r1.7 -r1.13 --- OpenXM/src/kan96xx/Doc/ox-win.sm1 2001/08/22 02:36:34 1.7 +++ OpenXM/src/kan96xx/Doc/ox-win.sm1 2002/01/09 11:32:01 1.13 @@ -1,8 +1,12 @@ -%%%%%%%%%%% $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.12 2001/12/28 08:18:23 takayama Exp $ -[(parse) (ox.sm1) pushfile] extension pop +/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 08/22, 2001 (C) N.Takayama.$ message-quiet +$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 @@ -17,19 +21,76 @@ 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 %% 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 { + /oxpath.ostype (native-windows) def +}{ + [(getenv) (OSTYPE)] extension /oxpath.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 +oxpath.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 ) 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 + [(start ox ) ( -reverse -ox ) (/home/nobuki/OpenXM/src/kxx/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 [ @@ -40,10 +101,10 @@ OpenXM_HOME_WIN tag 0 eq { peer message [(forkExec) [ (c:/windows/command/start) - [OpenXM_HOME_WIN (/bin/ox)] cat + [OpenXM_HOME_WIN (\bin\ox)] cat (-reverse) (-ox) - [OpenXM_HOME_WIN (/bin/ox_sm1.exe)] cat + [OpenXM_HOME_WIN (\bin\ox_sm1.exe)] cat (-data) data (-control) @@ -61,7 +122,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 +153,4 @@ OpenXM_HOME_WIN tag 0 eq { popVariables } def -initializePathNamesForOx %% This should be +%% Skip it. initializePathNamesForOx