[BACK]Return to ox-win_old.sm1 CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / Doc

File: [local] / OpenXM / src / kan96xx / Doc / ox-win_old.sm1 (download)

Revision 1.1, Mon Jul 21 07:31:59 2003 UTC (20 years, 10 months ago) by takayama
Branch: MAIN
CVS Tags: R_1_3_1-2, RELEASE_1_3_1_13b, RELEASE_1_2_3_12, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, KNOPPIX_2006, HEAD, DEB_REL_1_2_3-9

The new ox100 launcher ox100start replaces the old one.

%%%%%%%%%%%  $OpenXM: OpenXM/src/kan96xx/Doc/ox-win_old.sm1,v 1.1 2003/07/21 07:31:59 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.0 [(c:\windows\system32\cmd.exe) (/c) (start)] def 
    /ox.win.start [ox.win.start.0 aload pop
                   ox-win.start.iconic { (/min) } { } ifelse ] def
  }{
   [(stat) (c:\winnt\system32\cmd.exe)] extension 0 get
   0 eq {
      /ox.win.start.0 [(c:\winnt\system32\cmd.exe) (/c) (start) ] def
      /ox.win.start [ox.win.start.0 aload pop
                     ox-win.start.iconic { (/min) } { } ifelse ] def
   }{
     /ox.win.start.0 [ (start) ] def 
     /ox.win.start [ ox.win.start.0 aload pop
                     ox-win.start.iconic { (/min) } { } ifelse ] def
   } ifelse
  } ifelse
} def
ox.win.set.start

%%%%%%%%%%%%%%% end configuration  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Set constants for windows.

ox.ostype 1 get (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
}{ } ifelse

ox.ostype 1 get (xcygwin) eq {
 /oxpath.ox (bin/ox.exe) def
 /oxpath.oxsm1 (bin/ox_sm1.exe) def
 /oxpath.oxlog (bin/oxlog.exe) def
 /oxpath.xterm (/usr/X11R6/bin/xterm -icon -e ) def
 /oxpath.oxlog.xterm (oxlog /usr/X11R6/bin/xterm -icon -e ) 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
}{ } ifelse

ox.ostype 1 get (native) eq {
  /oxpath.ox
  [ OpenXM_HOME_WIN
    (\bin\ox.exe)
  ] cat
 def
}{ } ifelse

/sm1connectr {
  ox.ostype 1 get (cygwin) eq {
    sm1connectr_cygwin
  }{ } ifelse
  ox.ostype 1 get (xcygwin) eq {
    sm1connectr_xcygwin
  }{ } ifelse
  ox.ostype 1 get (native) eq {
    sm1connectr_win
  }{ } ifelse
} def

%% For cygwin
%% How to debug: 
%% 1. Use start 'c:\cygwin\cygwin.bat' to create a cygwin window.
%% 2. Set OpenXM_HOME and run sm1 , (ox.sm1) run, sm1_connectr
%% 3. In order to kill a process, use ps and kill -9 
/sm1connectr_cygwin {
 [/in-sm1connectr /pass /peer /data /control /sss ] 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 { ( ) } map cat ox_backslash_to_slash
  ( ox ) 
  ( -reverse -ox ) 
  [(c:/cygwin) OpenXM_HOME_WIN (/bin/ox_sm1.exe)] cat
%  (c:/cygwin/home/TakayamaNobuki/OpenXM/bin/ox_sm1.exe)
  ( -data ) data ( -control ) control  ( -pass ) pass 
  ( -wait 2 )
  oxpath.null
  ( )] cat /sss set 
  sss message
  sss 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

%% How to debug: 
%% 1. Set a batch file to change directory. Start command window.
%% 2. Set OpenXMHOMEWIN (cf. debug-tool/asirgui-debug.bat) 
%%    and run sm1 , (ox.sm1) run, sm1_connectr
%% 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

%% For cygwin
/sm1connectr_xcygwin {
 [/in-sm1connectr_xcygwin /pass /peer /data /control /sss] pushVariables
 [
 (Hello) message
 /pass [(oxGenPass)] extension def
 /peer [(oxGetPort) (localhost)] extension def
 /data peer 1 get toString def
 /control peer 3 get toString def
 peer message
 [oxpath.oxlog.xterm  
  [oxpath.ox] getPathNameSm1  
  ( -reverse -ox ) 
  [oxpath.oxsm1] getPathNameSm1
  ( -data ) data ( -control ) control  ( -pass ) pass 
  oxpath.null
  ( &)] cat /sss set
 sss message 
 sss 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

%% Skip it. initializePathNamesForOx