File: [local] / OpenXM / src / kan96xx / Doc / ox-win.sm1 (download)
Revision 1.18, Wed Jul 31 02:57:37 2002 UTC (22 years, 2 months ago) by takayama
Branch: MAIN
Changes since 1.17: +4 -4
lines
Undo a change to start servers on cygwin. (sm1connectr_cygwin)
|
%%%%%%%%%%% $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