version 1.14, 2000/12/05 12:03:43 |
version 1.20, 2002/08/03 06:02:35 |
|
|
%%%%%%%%%%% $OpenXM: OpenXM/src/kan96xx/Doc/ox.sm1,v 1.13 2000/12/05 11:20:26 takayama Exp $ |
%%%%%%%%%%% $OpenXM: OpenXM/src/kan96xx/Doc/ox.sm1,v 1.19 2001/12/28 08:05:44 takayama Exp $ |
|
|
|
/ox.sm1.loaded 1 def |
%%%%%%%%%%%% 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 53 ox.version [(Version)] system_variable gt |
|
Line 55 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 11/11,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 87 ox.version [(Version)] system_variable gt |
|
Line 89 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 |
|
|
|
|
} def |
} def |
|
|
%% Test code for oxCreateControl_RFC_101 |
%% Test code for oxCreateControl_RFC_101 |
/sm1connect101 { |
/sm1StartControl101 { |
[/in-sm1connectr /pass /peer /data /control ] pushVariables |
[/in-sm1connectr /pass /peer /data /control ] pushVariables |
[ |
[ |
/pass [(oxGenPass)] extension def |
/pass [(oxGenPass)] extension def |
|
|
} def |
} def |
|
|
/sm1StartEngine101 { |
/sm1StartEngine101 { |
[/in-sm1StartEngine101 /peer /data /control ] pushVariables |
[/in-sm1StartEngine101 /peer /data /control /engineID] pushVariables |
[ |
[ |
/peer [(oxGetPort1) (localhost)] extension def |
/peer [(oxGetPort1) (localhost)] extension def |
/data peer 1 get def |
/data peer 1 get def |
|
|
ox.ccc data oxpushcmo |
ox.ccc data oxpushcmo |
ox.ccc (/home/nobuki/OpenXM/bin/ox_sm1) oxpushcmo |
ox.ccc (/home/nobuki/OpenXM/bin/ox_sm1) oxpushcmo |
[(oxPushCMD) ox.ccc SM_control_spawn_server] extension |
[(oxPushCMD) ox.ccc SM_control_spawn_server] extension |
(Implementation has not yet completed.) error |
ox.ccc oxpopcmo /engineID set |
%% how can I get client structure? |
[(oxCreateEngine_RFC_101) peer 0 (Empty) engineID] extension |
|
/ox.ddd set |
|
(The engine is binded to the variables ox.ddd) message |
] pop |
] pop |
popVariables |
popVariables |
arg1 |
arg1 |
} def |
} def |
|
|
initializePathNamesForOx %% This should be |
/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 |
|
|
|
/ox_get_os { |
|
[/in-ox_get_ox /os1 /os2] pushVariables |
|
[ |
|
/os1 [(ostype)] extension 0 get def |
|
os1 (windows) eq { |
|
[(getenv) (WINDOWID)] extension tag 0 eq not { |
|
%% expect cygwin X |
|
/os2 (xcygwin) def |
|
}{ |
|
[(getenv) (OSTYPE)] extension tag 0 eq not |
|
[(getenv) (MACHTYPE)] extension tag 0 eq not or |
|
[(getenv) (PWD)] extension tag 0 eq not or |
|
{ |
|
%% expect cygwin environment |
|
/os2 (cygwin) def |
|
}{ |
|
%% expect the native windows environment |
|
/os2 (native) def |
|
} ifelse |
|
} ifelse |
|
}{ |
|
/os2 null def |
|
} ifelse |
|
/arg1 [os1 os2] def |
|
] pop |
|
popVariables |
|
arg1 |
|
} def |
|
|
|
/ox.ostype ox_get_os def |
|
|
|
/ox_backslash_to_slash { |
|
/arg1 set |
|
[/in-ox_backslash_to_slash /sss ] pushVariables |
|
[ |
|
/sss arg1 def |
|
sss (array) dc /sss set |
|
sss { dup 92 eq { pop 47 } { } ifelse } map |
|
{ (string) dc } map cat /arg1 set |
|
] pop |
|
popVariables |
|
arg1 |
|
} def |
|
/ox_slash_to_backslash { |
|
/arg1 set |
|
[/in-ox_slash_to_backslash /sss ] pushVariables |
|
[ |
|
/sss arg1 def |
|
sss (array) dc /sss set |
|
sss { dup 47 eq { pop 92 } { } ifelse } map |
|
{ (string) dc } map cat /arg1 set |
|
] pop |
|
popVariables |
|
arg1 |
|
} def |
|
|
|
[(ostype)] extension 0 get |
|
(windows) eq { |
|
(ox-win.sm1.loaded) boundp { |
|
}{ |
|
[(parse) (ox-win.sm1) pushfile] extension |
|
} ifelse |
|
}{ |
|
initializePathNamesForOx %% This should be |
|
} ifelse |