📄 esh.tpl
字号:
/***************************************************************************
*
* Copyright (c) 1992 READY SYSTEMS CORPORATION.
*
* All rights reserved. READY SYSTEMS' source code is an unpublished
* work and the use of a copyright notice does not imply otherwise.
* This source code contains confidential, trade secret material of
* READY SYSTEMS. Any attempt or participation in deciphering, decoding,
* reverse engineering or in any way altering the source code is
* strictly prohibited, unless the prior written consent of
* READY SYSTEMS is obtained.
*
*
* Module Name: %M%
*
* Identification: %Z% %I% %M%
*
* Date: %G% %U%
*
****************************************************************************
*/
#include <syskind.h>
#include <esh.h>
#include <vrtxil.h>
@define(esh_commands_list, `@ifelse($1,,,`` '"$1", @(esh.$1.handler), @(esh.$1.flag), "@(esh.$1.help)",
'`@esh_commands_list(@shift($@))')')@dnl
@define(esh_commands_decl, `@ifelse($1,,,`` 'extern void @(esh.$1.handler)();
'`@esh_commands_decl(@shift($@))')')@dnl
@ifelse(@(esh.enabled),yes,`@esh_commands_decl(@(esh.alone.commands))@ifelse(@(ifx.enabled),yes,`@esh_commands_decl(@(esh.filesystem.commands))')@ifelse(@(snx.enabled),yes,`@esh_commands_decl(@(esh.network.commands))')@ifelse(@(nfs.enabled),yes,`@esh_commands_decl(@(esh.nfs.commands))')@esh_commands_decl(@(esh.usr.commands))')
const command esh_commands[] = {
@ifelse(@(esh.enabled),yes,`
@esh_commands_list(@(esh.alone.commands)) @ifelse(@(ifx.enabled),yes,`@esh_commands_list(@(esh.filesystem.commands))') @ifelse(@(snx.enabled),yes,`@esh_commands_list(@(esh.network.commands))') @ifelse(@(nfs.enabled),yes,`@esh_commands_list(@(esh.nfs.commands))') @esh_commands_list(@(esh.usr.commands))') 0, 0, 0, 0
};
const int esh_num_history=@(esh.history);
extern void esh_sc_tecreate();
void (* const ESH_sc_tecreate)() = @ifelse(@(sys.vrtx32),`yes',`(void (*)())esh_sc_tecreate',`(void (*)())sc_tecreate');
@ifelse(@(rtl.IFX_support),yes,`extern int Esh_open_console();
int (* const esh_open_console)()=(int (*)())Esh_open_console',`extern int dummy_open_console();
int (* const esh_open_console)()=(int (*)())dummy_open_console');
@ifelse(@(rtl.IFX_support),yes,`extern int Esh_init_console();
int (* const esh_init_console)()=(int (*)())Esh_init_console',`extern int dummy_init_console();
int (* const esh_init_console)()=(int (*)())dummy_init_console');
@ifelse(@(rtl.IFX_support),yes,`extern int Esh_close_console();
int (* const esh_close_console)()=(int (*)())Esh_close_console',`extern int dummy_close_console();
int (* const esh_close_console)()=(int (*)())dummy_close_console');
@ifelse(@(rtl.IFX_support),yes,`extern int Esh_remove_console();
int (* const esh_remove_console)()=(int (*)())Esh_remove_console',`extern int dummy_remove_console();
int (* const esh_remove_console)()=(int (*)())dummy_remove_console');
@ifelse(@(ifx.enabled),yes,`extern int change_device();
int (* const esh_change_device)()=(int (*)())change_device',`extern int dummy_change_device();
int (* const esh_change_device)()=(int (*)())dummy_change_device');
@ifelse(@(ifx.enabled),yes,`extern int esh_ifx_tcreate();
int (* const esh_task_create)()=(int (*)())esh_ifx_tcreate',`extern int esh_tcreate();
int (* const esh_task_create)()=(int (*)())esh_tcreate');
@ifelse(@(ifx.enabled),yes,`extern int esh_ifx_tdelete();
int (* const esh_task_delete)()=(int (*)())esh_ifx_tdelete',`extern int esh_tdelete();
int (* const esh_task_delete)()=(int (*)())esh_tdelete');
sys_initialize_esh()
{
int err;
extern void esh();
extern int opt_ind;
extern int opt_err;
opt_ind = 1;
opt_err = 1;
sc_tcreate(esh, 0, 1, &err);
if(err)
(*sys_message_handler)(USECONSOLE | VSYSLIBID | FATALTYPE | SYS_EESH, err);
(*sys_message_handler)(USECONSOLE | VSYSLIBID | INFOTYPE | SYS_MESHINIT, NULL);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -