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

Diff for /OpenXM/src/kan96xx/Doc/ox.sm1 between version 1.4 and 1.17

version 1.4, 1999/11/04 12:08:43 version 1.17, 2001/08/22 03:23:25
Line 1 
Line 1 
 %%%%%%%%%%%  $OpenXM: OpenXM/src/kan96xx/Doc/ox.sm1,v 1.3 1999/11/03 00:45:43 takayama Exp $  %%%%%%%%%%%  $OpenXM: OpenXM/src/kan96xx/Doc/ox.sm1,v 1.16 2001/08/22 02:36:34 takayama Exp $
 %%%%%%%%%%%% Configuration: Specify your server path  %%%%%%%%%%%% Configuration: Specify your server path
 %%%%% ox, ox_sm1, oxlog are contained in kxx.tgz  %%%%% ox, ox_sm1, oxlog are contained in kxx.tgz
 %%%%% These should be under /usr/local/lib/sm1 or LOAD_SM1_PATH  %%%%% These should be under /usr/local/lib/sm1 or LOAD_SM1_PATH
Line 7 
Line 7 
 /oxpath.oxlog (bin/oxlog) def  /oxpath.oxlog (bin/oxlog) def
 /oxpath.xterm (/usr/X11R6/bin/xterm  -icon  -e ) def  /oxpath.xterm (/usr/X11R6/bin/xterm  -icon  -e ) def
 /oxpath.null  (  ) def  /oxpath.null  (  ) def
 /oxpath.null00  ( >& /dev/null ) def   %% cf oxNoX  /oxpath.null00  ( >& /dev/null ) def  %%cf. oxNoX
   /oxpath.null00-pure-sh ( 2>&1 >/dev/null) def %%TODO:It does not work in our case
 %%%%%%%%%%%%%  The following is used only for sm1connectr-ssh.  %%%%%%%%%%%%%  The following is used only for sm1connectr-ssh.
 %%%%%%%%%%%%%  Configure path for ox and ox_sm1 on your remote machine.  %%%%%%%%%%%%%  Configure path for ox and ox_sm1 on your remote machine.
 /oxpath.oxlog.xterm-ssh (/home/taka/OpenXM/bin/oxlog /usr/X11R6/bin/xterm -icon -e ) def  /oxpath.oxlog.xterm-ssh (/home/taka/OpenXM/bin/oxlog /usr/X11R6/bin/xterm -icon -e ) def
Line 52  ox.version [(Version)] system_variable gt 
Line 53  ox.version [(Version)] system_variable gt 
   (Please get it from http://www.math.kobe-u.ac.jp/KAN) message    (Please get it from http://www.math.kobe-u.ac.jp/KAN) message
   error    error
 } { } ifelse  } { } ifelse
 (ox.sm1, --- open sm1 protocol module 10/1,1999  (C) N.Takayama. oxhelp for help) message-quiet  (ox.sm1, ---OpenXM protocol module 08/22, 2001  (C) N.Takayama. oxhelp for help) message-quiet
   
 /ox.ccc load isArray  /ox.ccc load isArray
 { }  { }
Line 72  ox.version [(Version)] system_variable gt 
Line 73  ox.version [(Version)] system_variable gt 
   
 /SM_popCMO 262 def  /SM_popCMO 262 def
 /SM_executeFunction 269 def  /SM_executeFunction 269 def
 /SM_DUMMY_sendcmo  280 def  /SM_DUMMY_sendcmo   2147418112 1 add def    %%% SM_PRIVATE+1
 /SM_sync_ball 281 def  /SM_sync_ball 281 def
   
 /SM_pops  265  def  /SM_pops  265  def
Line 86  ox.version [(Version)] system_variable gt 
Line 87  ox.version [(Version)] system_variable gt 
   
 /SM_control_kill 1024 def  /SM_control_kill 1024 def
 /SM_control_reset_connection  1030 def  /SM_control_reset_connection  1030 def
   /SM_control_spawn_server  1027 def
   
 /Etag_error 257 def  /Etag_error 257 def
   
Line 160  ox.verbose { oxhelp } {  } ifelse
Line 162  ox.verbose { oxhelp } {  } ifelse
 /sm1connect2 {  /sm1connect2 {
  [oxpath.oxlog.xterm   oxpath.ox ( -ox ) oxpath.oxsm1   [oxpath.oxlog.xterm   oxpath.ox ( -ox ) oxpath.oxsm1
   oxpath.null    oxpath.null
   ( &)] cat system    ( &)] cat system-csh
 % (kterm -iconic -e /home/nobuki/kxx/ox -ox /home/nobuki/kxx/ox_sm1 &) system  % (kterm -iconic -e /home/nobuki/kxx/ox -ox /home/nobuki/kxx/ox_sm1 &) system
 % For MSRI, or Eterm,  % For MSRI, or Eterm,
 %(xterm -icon -e /u/nobuki/tmp/kxx/ox -ox /u/nobuki/tmp/Ox/ox_sm1 &) system  %(xterm -icon -e /u/nobuki/tmp/kxx/ox -ox /u/nobuki/tmp/Ox/ox_sm1 &) system
  (If you start the server automatically, you may have a trouble to) message   (If you start the server automatically, you may have a trouble to) message
  (oxreset. In order to avoid this trouble, start the server by hand.) message   (oxreset. In order to avoid this trouble, start the server by hand.) message
  (sleep 5) system   (sleep 5) system-csh
   [(localhost) 1300 1200] oxconnect /ox.ccc set    [(localhost) 1300 1200] oxconnect /ox.ccc set
  (The server is binded to the variable ox.ccc) message   (The server is binded to the variable ox.ccc) message
  ox.ccc.init   ox.ccc.init
Line 176  ox.verbose { oxhelp } {  } ifelse
Line 178  ox.verbose { oxhelp } {  } ifelse
  [oxpath.oxlog.xterm   oxpath.ox ( -ox ) oxpath.oxsm1   [oxpath.oxlog.xterm   oxpath.ox ( -ox ) oxpath.oxsm1
   (  -data 2300 -control 2200 )    (  -data 2300 -control 2200 )
   oxpath.null    oxpath.null
   ( &)] cat system    ( &)] cat system-csh
 % (kterm -iconic -e /home/nobuki/kxx/ox -ox /home/nobuki/kxx/ox_sm1 -data 2300 -control 2200 &) system  % (kterm -iconic -e /home/nobuki/kxx/ox -ox /home/nobuki/kxx/ox_sm1 -data 2300 -control 2200 &) system-csh
 % For MSRI  % For MSRI
 %(xterm -icon -e /u/nobuki/tmp/kxx/ox -ox /u/nobuki/tmp/Ox/ox_sm1 -data 2300 -control 2200&) system  %(xterm -icon -e /u/nobuki/tmp/kxx/ox -ox /u/nobuki/tmp/Ox/ox_sm1 -data 2300 -control 2200&) system-csh
  (If you start the server automatically, you may have a trouble to) message   (If you start the server automatically, you may have a trouble to) message
  (oxreset. In order to avoid this trouble, start the server by hand.) message   (oxreset. In order to avoid this trouble, start the server by hand.) message
  (sleep 5) system   (sleep 5) system-csh
   [(localhost) 2300 2200] oxconnect /ox.ccc2 set    [(localhost) 2300 2200] oxconnect /ox.ccc2 set
  (The server is binded to the variable ox.ccc2) message   (The server is binded to the variable ox.ccc2) message
 } def  } def
Line 193  ox.verbose { oxhelp } {  } ifelse
Line 195  ox.verbose { oxhelp } {  } ifelse
  [oxpath.oxlog.xterm   oxpath.ox ( -ox ) oxpath.oxsm1   [oxpath.oxlog.xterm   oxpath.ox ( -ox ) oxpath.oxsm1
   ( -portfile ) ox.ccc.portfile    ( -portfile ) ox.ccc.portfile
   oxpath.null    oxpath.null
   ( &)] cat system    ( &)] cat system-csh
  (sleep 5) system   (sleep 5) system-csh
  [(oxReadPortFile) ox.ccc.portfile] extension /ox.ccc.control set   [(oxReadPortFile) ox.ccc.portfile] extension /ox.ccc.control set
  ox.ccc.control message   ox.ccc.control message
  [(localhost) ox.ccc.control 1200] /ox.ccc set   [(localhost) ox.ccc.control 1200] /ox.ccc set
Line 354  ox.verbose { oxhelp } {  } ifelse
Line 356  ox.verbose { oxhelp } {  } ifelse
 /oxreset {  /oxreset {
   /arg1 set    /arg1 set
   [(oxReq) arg1 SM_control_reset_connection] extension pop    [(oxReq) arg1 SM_control_reset_connection] extension pop
   [(oxGetFromControl) arg1 ] extension pop  %%  [(oxGetFromControl) arg1 ] extension pop
   [(oxGet) arg1] extension message    [(oxGet) arg1] extension message
 } def  } def
   
Line 484  def
Line 486  def
   /exhausted 0 def    /exhausted 0 def
   % clear the busy flag.    % clear the busy flag.
   /busy [1 1 enginesN { pop 0 } for ] def    /busy [1 1 enginesN { pop 0 } for ] def
   (date) system    (date) system-csh
   {{    {{
   exhausted 0 eq {    exhausted 0 eq {
     0 1 enginesN 1 sub {      0 1 enginesN 1 sub {
Line 513  def
Line 515  def
     } { } ifelse      } { } ifelse
   } for    } for
   } loop } timer    } loop } timer
   (date) system    (date) system-csh
   (result is in result) message    (result is in result) message
   (Number of s-pairs checked is ) messagen result length message    (Number of s-pairs checked is ) messagen result length message
 } def  } def
Line 585  ox.verbose {
Line 587  ox.verbose {
  [oxpath.oxlog.xterm  oxpath.ox ( -reverse -ox ) oxpath.oxsm1   [oxpath.oxlog.xterm  oxpath.ox ( -reverse -ox ) oxpath.oxsm1
   ( -data ) data ( -control ) control  ( -pass ) pass    ( -data ) data ( -control ) control  ( -pass ) pass
   oxpath.null    oxpath.null
   ( &)] cat system    ( &)] cat system-csh
  [(oxCreateClient2) peer 0 pass] extension /ox.ccc set   [(oxCreateClient2) peer 0 pass] extension /ox.ccc set
                      %% 0 means connect from only localhost.                       %% 0 means connect from only localhost.
  (The server is binded to the variable ox.ccc) message   (The server is binded to the variable ox.ccc) message
Line 617  ox.verbose {
Line 619  ox.verbose {
  ] cat /comm set   ] cat /comm set
  (Executing the command : ) messagen comm message message   (Executing the command : ) messagen comm message message
   comm system    comm system
  (sleep 5) system   (sleep 5) system-csh
  [(oxCreateClient2) peer 1 pass] extension /your-peer set   [(oxCreateClient2) peer 1 pass] extension /your-peer set
  /arg1 your-peer def   /arg1 your-peer def
  ] pop   ] pop
Line 695  ox.verbose {
Line 697  ox.verbose {
        } { } ifelse         } { } ifelse
      } {  } ifelse       } {  } ifelse
   
        %% Else first try to find it in OpenXM_HOME
        [(getenv) (OpenXM_HOME)] extension /tname set
        tname isString
        {
          tname addSlash /tname set
          [tname (lib/sm1/)] cat /tname set
          [(stat) [tname fname] cat] extension
          0 get isInteger  %% The file was found.
          {  /fullname [tname fname] cat def
             /getPathNameSm1.LLL goto
          } { } ifelse
        } {  } ifelse
   
      %% Else try to find it in /usr/local/lib/sm1       %% Else try to find it in /usr/local/lib/sm1
      [(stat) [(/usr/local/lib/sm1/) fname] cat] extension       [(stat) [(/usr/local/lib/sm1/) fname] cat] extension
      0 get isInteger  %% The file was found.       0 get isInteger  %% The file was found.
Line 705  ox.verbose {
Line 720  ox.verbose {
      %% Otherwise error.       %% Otherwise error.
        [(getPathNameSm1: The file ) fname         [(getPathNameSm1: The file ) fname
         ( could not be found )          ( could not be found )
         (neigher in LOAD_SM1_PATH=)          (neigher in LOAD\_SM1\_PATH=)
         [(getenv) (LOAD_SM1_PATH)] extension          [(getenv) (LOAD_SM1_PATH)] extension
           ( nor in OpenXM\_HOME/lib/sm1=)
           [(getenv) (OpenXM_HOME)] extension
           (/lib/sm1)
         ( nor in /usr/local/lib/sm1)          ( nor in /usr/local/lib/sm1)
        ] cat /getPathNameSm1.errorMessage set         ] cat /getPathNameSm1.errorMessage set
        getPathNameSm1.errorMessage message         getPathNameSm1.errorMessage message
Line 721  ox.verbose {
Line 739  ox.verbose {
 [(getPathNameSm1)  [(getPathNameSm1)
 [([fname] getPathNameSm1 fullname)  [([fname] getPathNameSm1 fullname)
  (string fname, fullname)   (string fname, fullname)
  (This command searches the fname in /usr/local/lib/sm1 and LOAD_SM1_PATH)   (This command searches the fname in LOAD_SM1_PATH, )
  (and returns the fullname.)   (OpenXM_HOME/lib/sm1, and /usr/local/lib/sm1)
    (It returns the fullname.)
 ]] putUsages  ]] putUsages
   
 /getPathNameAsir {  /getPathNameAsir {
Line 737  ox.verbose {
Line 756  ox.verbose {
         /getPathNameAsir.LLL goto          /getPathNameAsir.LLL goto
      } { } ifelse       } { } ifelse
   
      %% Else first try to find it in /usr/local/lib/asir  
      [(stat) [(/usr/local/lib/asir/) fname] cat] extension  
      0 get isInteger  %% The file was found.  
      {  /fullname [(/usr/local/lib/asir/) fname] cat def  
         /getPathNameAsir.LLL goto  
      } { } ifelse  
   
      %% Else try to find it in ASIR_LIBDIR       %% Else try to find it in ASIR_LIBDIR
      [(getenv) (ASIR_LIBDIR)] extension /tname set       [(getenv) (ASIR_LIBDIR)] extension /tname set
      tname isString       tname isString
Line 756  ox.verbose {
Line 768  ox.verbose {
   
      } {  } ifelse       } {  } ifelse
   
        %% Else try to find it in /usr/local/lib/asir
        [(stat) [(/usr/local/lib/asir/) fname] cat] extension
        0 get isInteger  %% The file was found.
        {  /fullname [(/usr/local/lib/asir/) fname] cat def
           /getPathNameAsir.LLL goto
        } { } ifelse
   
      %% Otherwise error.       %% Otherwise error.
        [ (getPathNameAsir: The file )  fname         [ (getPathNameAsir: The file )
             fname  (ox_asir) eq
             {(ox\_asir)} { fname }ifelse
        ( could not be found )         ( could not be found )
        (neigher in /usr/local/lib/asir nor in ASIR_LIBDIR. )         (neigher in /usr/local/lib/asir nor in ASIR\_LIBDIR. )
        ] cat /getPathNameAsir.errorMessage set         ] cat /getPathNameAsir.errorMessage set
        getPathNameAsir.errorMessage message         getPathNameAsir.errorMessage message
      ] pop popVariables getPathNameAsir.errorMessage error       ] pop popVariables getPathNameAsir.errorMessage error
Line 791  ox.verbose {
Line 812  ox.verbose {
  /arg1 set   /arg1 set
  [/in-launch_nox /pass /peer /data /control /name /machine   [/in-launch_nox /pass /peer /data /control /name /machine
   /your-peer /comm /remoteOpenXMbin /remoteServer /myhost    /your-peer /comm /remoteOpenXMbin /remoteServer /myhost
     /argNumber /aaa
  ] pushVariables   ] pushVariables
  [   [
    /machine arg1 0 get def     /aaa arg1 def
    /remoteOpenXMbin arg1 1 get def     /argNumber aaa length def
    /remoteServer arg1 2 get def     /machine aaa 0 get def
    /name arg1 3 get def     machine (localhost) eq argNumber 5 lt and {
    /myhost arg1 4 get def       aaa 1 get ox_launch_localhost /your-peer set
        /LLL.end goto
      } {
        /remoteOpenXMbin aaa 1 get def
        /remoteServer aaa 2 get def
        /name aaa 3 get def
        /myhost aaa 4 get def
      } ifelse
   
    /pass [(oxGenPass)] extension def     /pass [(oxGenPass)] extension def
    /peer [(oxGetPort) myhost] extension def     /peer [(oxGetPort) myhost] extension def
Line 821  ox.verbose {
Line 850  ox.verbose {
  ] cat /comm set   ] cat /comm set
  (Executing the command : ) messagen comm message message   (Executing the command : ) messagen comm message message
   comm system    comm system
  (sleep 5) system   (sleep 5) system-csh
  [(oxCreateClient2) peer 1 pass] extension /your-peer set   [(oxCreateClient2) peer 1 pass] extension /your-peer set
    /LLL.end
  /arg1 your-peer def   /arg1 your-peer def
  ] pop   ] pop
  popVariables   popVariables
Line 832  ox.verbose {
Line 862  ox.verbose {
 [(ox_launch)  [(ox_launch)
 [( [remote remote-OpenXM-bin remote-ox-server remote-login-name myhostname] )  [( [remote remote-OpenXM-bin remote-ox-server remote-login-name myhostname] )
  (  ox_launch  client )   (  ox_launch  client )
    $or $
    $ [(localhost) ox-server-name] ox_launch client$
  (Example 1: )   (Example 1: )
  $ [(tau.math.kobe-u.ac.jp) (/home/taka/OpenXM/bin) $   $ [(tau.math.kobe-u.ac.jp) (/home/taka/OpenXM/bin) $
  $  (/home/taka/OpenXM/src/ox_math/ox_math) (taka) (dc4.math.kobe-u.ac.jp) $   $  (/home/taka/OpenXM/src/ox_math/ox_math) (taka) (dc4.math.kobe-u.ac.jp) $
Line 847  ox.verbose {
Line 879  ox.verbose {
  $ ] ox_launch_nox /@@@.oxmath set $   $ ] ox_launch_nox /@@@.oxmath set $
 ]] putUsages  ]] putUsages
   
   /system-csh {
     /arg1 set
     [/in-system-csh /com /com2] pushVariables
     [
       /com arg1 def
       [(/bin/csh -c ") com (")] cat
       /com2 set
       %%com2 message
       com2 system
     ] pop
     popVariables
   } def
   
   /ox_launch_localhost {
    /arg1 set
    [/in-ox_launch_localhost /pass /peer /data /control /oxserver
     /my-peer] pushVariables
    [
       /oxserver arg1 def
       /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 ( -reverse -ox ) oxserver
        ( -data ) data ( -control ) control  ( -pass ) pass
         oxpath.null
        ( &)] cat system-csh
       [(oxCreateClient2) peer 0 pass] extension /my-peer set
                            %% 0 means connect from only localhost.
       (The server is binded to the variable ox.ccc) message
       /arg1 my-peer def
    ] pop
    popVariables
    arg1
   } def
   
   %% Test code for oxCreateControl_RFC_101
   /sm1StartControl101 {
    [/in-sm1connectr /pass /peer /data /control ] pushVariables
    [
    /pass [(oxGenPass)] extension def
    /peer [(oxGetPort1) (localhost)] extension def
    /data peer 1 get toString def
    peer message
    [(/home/nobuki/OpenXM/src/oxc/oxc)
     ( -c ) pass ( -h ) (localhost) ( -p ) data ( -x )
     oxpath.null
     ( &)] cat system-csh
   
 initializePathNamesForOx  %% This should be   [(oxCreateControl_RFC_101) 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
    ] pop
    popVariables
   } def
   
   /sm1StartEngine101 {
    [/in-sm1StartEngine101 /peer /data /control /engineID] pushVariables
    [
       /peer [(oxGetPort1) (localhost)] extension def
       /data peer 1 get def
   
       ox.ccc data oxpushcmo
       ox.ccc (/home/nobuki/OpenXM/bin/ox_sm1) oxpushcmo
       [(oxPushCMD) ox.ccc SM_control_spawn_server] extension
       ox.ccc oxpopcmo /engineID set
       [(oxCreateEngine_RFC_101) peer 0 (Empty) engineID] extension
       /ox.ddd set
       (The engine is binded to the variables ox.ddd) message
    ] pop
    popVariables
    arg1
   } def
   
   /OxWorkDirCreated false def
   /oxWorkDir {
     [/in-oxWorkDir /workHome /work] pushVariables
     [
       [(getenv) (OpenXM_tmp)] extension tag 0 eq {
          /workHome [
             [(getenv) (HOME)] extension
             (/OpenXM_tmp)
          ] cat def
       }{
          /workHome
            [(getenv) (OpenXM_tmp)] extension
          def
       }ifelse
       /work [workHome  (/)  [(getpid)] extension toString] cat def
   
       OxWorkDirCreated not {
         [(stat) workHome] extension 0 get tag 0 eq {
           [(Working directory ) workHome ( will be created.)] cat
           message
           [(mkdir ) workHome] cat system
         }{
         } ifelse
   
         [(stat) work] extension 0 get tag 0 eq {
           [(Working directory ) work ( will be created.)] cat
           message
           [(mkdir ) work] cat system
         }{
         } ifelse
         /OxWorkDirCreated true def
       }{ } ifelse
       /arg1 work def
     ] pop
     popVariables
     arg1
   } def
   [(oxWorkDir)
    [(oxWorkDir returns a name of working directory for OpenXM processes.)
     (If the working direcotry does not exist, it creates ~/OpenXM_tmp/[pid].)
     (The name can be changed by setting a value to the environmental variable)
     (OpenXM_tmp.    cf. oxNewFileName)
    ]
   ] putUsages
   
   /OxFileName 0 def
   /oxNewFileName {
     [/in-oxNewFileName /name] pushVariables
     [
       /name [(work) OxFileName toString] cat def
       /OxFileName OxFileName 1 add def
       /arg1 name def
     ] pop
     popVariables
     arg1
   } def
   [(oxNewFileName)
    [(oxNewFileName returns a unique file name for a working file.)
     (cf. oxWorkDir)
    ]
   ] putUsages
   
   [(ostype)] extension  0 get
   (windows) eq {
   }{
     initializePathNamesForOx  %% This should be
   } ifelse

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.17

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>