version 1.17, 2002/07/31 01:03:02 |
version 1.22, 2003/07/21 07:31:59 |
|
|
%%%%%%%%%%% $OpenXM: OpenXM/src/kan96xx/Doc/ox-win.sm1,v 1.16 2002/07/29 08:32:03 takayama Exp $
|
%%%%%%%%%%% $OpenXM: OpenXM/src/kan96xx/Doc/ox-win.sm1,v 1.21 2002/10/01 13:00:33 takayama Exp $
|
|
|
(ox-win.start.noiconic) boundp {
|
[(parse) (ox.sm1) pushfile] extension
|
/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 ox.win.start { ( ) } map cat 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
|
|
[ox.win.start aload pop
|
|
( 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
|
|
[
|
|
/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
|
|