=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/oxasir-win.sm1,v retrieving revision 1.1 retrieving revision 1.11 diff -u -p -r1.1 -r1.11 --- OpenXM/src/kan96xx/Doc/oxasir-win.sm1 2001/12/21 03:00:41 1.1 +++ OpenXM/src/kan96xx/Doc/oxasir-win.sm1 2002/01/13 06:55:30 1.11 @@ -1,5 +1,130 @@ -% $OpenXM$ +% $OpenXM: OpenXM/src/kan96xx/Doc/oxasir-win.sm1,v 1.10 2002/01/09 11:19:25 takayama Exp $ % It is empty for now. % -/oxasir.sm1.loaded 10 def -(oxasir-win.sm1 is loaded. It is an empty module for now.) message +/oxasir.sm1.loaded 1 def +(oxasir-win.sm1 (C) N.Takayama, 1/9, 2002) message + +[(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 + + +%% Set constants for windows. +[(getenv) (OSTYPE)] extension tag 0 eq { + /oxasir.ostype (native-windows) def +}{ + [(getenv) (OSTYPE)] extension /oxasir.ostype set +} ifelse + +oxasir.ostype (cygwin) eq { +/oxasirpath.oxasir + [ [(getenv) (OpenXM_HOME)] extension + (/bin/ox_asir) ] cat +def +/oxasirpath.asirlib + [ [(getenv) (OpenXM_HOME)] extension + (/lib/sm1/oxasir.asir) ] cat +def +/oxpath.ox + (ox) +def +}{ + /oxasirpath.oxasir + [ OpenXM_HOME_WIN + (\bin\ox_asir) ] cat + def + /oxasirpath.asirlib + [ OpenXM_HOME_WIN + (/lib/sm1/oxasir.asir) + ] cat + def + /oxpath.ox + [ OpenXM_HOME_WIN + (\bin\ox.exe) + ] cat + def +} ifelse +%% Override asirconnectr +/asirconnectr { + [(getenv) (OSTYPE)] extension tag 0 eq { + asirconnectr_win + }{ + [(getenv) (OSTYPE)] extension (cygwin) eq + { + asirconnectr_cygwin + }{ + asirconnectr_win + }ifelse + } ifelse +} def + +/asirconnectr_cygwin { + [/in-asirconnectr /pass /peer /data /control /oxasir] 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 ) oxpath.ox ( -reverse -ox ) oxasirpath.oxasir + ( -data ) data ( -control ) control ( -pass ) pass + ( -wait 5 ) + oxpath.null + ] cat system + [(oxCreateClient2) peer 0 pass] extension /oxasir set + %% 0 means connect from only localhost. + oxasir asirinit + /arg1 oxasir def + ] pop + popVariables + arg1 +} def + +/asirconnectr_win { + [/in-asirconnectr /pass /peer /data /control /oxasir] pushVariables + [ + /pass [(oxGenPass)] extension def + /peer [(oxGetPort) (localhost)] extension def + /data peer 1 get toString def + /control peer 3 get toString def + peer message + + + [(forkExec) [ + (start) + oxpath.ox + (-reverse) + (-ox) + oxasirpath.oxasir + (-data) + data + (-control) + control + (-pass) + pass + (-wait) + (5) + ] + [ ] 3] extension + + [(oxCreateClient2) peer 0 pass] extension /oxasir set + %% 0 means connect from only localhost. + oxasir asirinit + /arg1 oxasir def + ] pop + popVariables + arg1 +} def + +%% +