⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snx.tpl

📁 VRTX 商用嵌入式实时操作系统
💻 TPL
📖 第 1 页 / 共 2 页
字号:
/***************************************************************************
*
*		Copyright (c) 1993 MRI CORPORATION.
*
*	All rights reserved. MRI 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
*	MRI. 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
*	MRI is obtained.
*
*
*	Module Name:		snx.tpl
*
*	Identification:		@(#) 1.28 snx.tpl
*
*	Date:			10/25/94  14:41:25
*
****************************************************************************
*/


#include <syskind.h>
#include <vrtxil.h>
#include "sys/types.h"
#include "sys/sysnames.h"
#include "sys/kernel.h"
#include "kernel/swkconf.h"
#include "exec/device.h"
#include "sys/config.h"
#include "sys/stream.h"
#include "sys/tihdr.h"
#include "netinet/in.h"

@define(make_host, ``	{ ''"$1"``,	''"`@(snx.hosts.$1)'"``,	1 ''}``,'')@dnl
@define(make_host_list,`@ifelse($1,,,`@make_host($1)'
`@make_host_list(@shift($@))')')@dnl	# RULES TO GENERATE THE HOST TABLE


@define(make_interface, ``	{ ''"$1"``, ''"`@(snx.interface.$1.devname)'"``, ''`@ifelse(@(snx.interface.$1.othermodule),,NULL,"@(snx.interface.$1.othermodule)")'``, ''"`@(snx.interface.$1.addr)'"``, ''`@ifelse(@(snx.interface.$1.broadcast),yes,1,0)'``, ''`@ifelse(@(snx.interface.$1.arpsupport),yes,1,0)'``, ''`@(snx.interface.$1.netmask)'``, ''`@ifelse(@(snx.interface.$1.frametype),,NULL,"@(snx.interface.$1.frametype)")'``  ''}``,'')@dnl
@define(make_interface_list,`@ifelse($1,,,`@make_interface($1)'
`@make_interface_list(@shift($@))')')@dnl  # RULES FOR THE INTERFACE TABLE

@define(make_nmserv, ``	''{ "$1" }``,'')@dnl
@define(make_nameservers,`@ifelse($1,,,`@make_nmserv($1)'
`@make_nameservers(@shift($@))')')@dnl	# RULES FOR THE NAMESERVER LIST

@define(make_route, ``	''{ "`@(snx.route.$1.type)'"``,	''"$1"``,	''"`@(snx.route.$1.gway)'"``,	''`@(snx.route.$1.metric)'``,	''"`@(snx.route.$1.qual)'" }``,'')@dnl
@define(make_route_list,`@ifelse($1,,,`@make_route($1)'
`@make_route_list(@shift($@))')')@dnl	# RULES TO GENERATE THE ROUTING TABLE

@define(compute_count,`@ifelse($#,1,`@ifelse($1,,`@decr($#)',$#)',$#)')@dnl # COMPUTES THE NUMBER OF PARAMETERS

@define(make_dmodsw_dcl, `@ifelse(@(snx.drvmod.$1.enable),yes, extern struct streamtab `@(snx.drvmod.$1.streamtab)'``;'' )')@dnl

@define(make_dmodsw_decl,`@ifelse($1,,,`@make_dmodsw_dcl($1)'
`@make_dmodsw_decl(@shift($@))')')@dnl

@define(make_dmodsw, `@ifelse(@(snx.drvmod.$1.enable),yes,``	''{ "$1"``,''`@ifelse(@substr(@(snx.drvmod.$1.flags),0,1),D, ``	SDT_DRV'', ``	SDT_MOD'')'`@ifelse(@substr(@(snx.drvmod.$1.flags),1,1),3,|SDT_SVR3,|SDT_SVR4)'``,'' 0``,'' &`@(snx.drvmod.$1.streamtab)' }``,'')')@dnl

@define(make_dmodsw_list,`@ifelse($1,,,`@make_dmodsw($1)'
`@make_dmodsw_list(@shift($@))')')@dnl

@define(make_dmodconf_dcl, `@ifelse(@(snx.drvmod.$1.enable),yes, `@ifelse(@(snx.drvmod.$1.initf),0,,extern void `@(snx.drvmod.$1.initf)'``();'')' )')@dnl

@define(make_dmodconf_decl,`@ifelse($1,,,`@make_dmodconf_dcl($1)'
`@make_dmodconf_decl(@shift($@))')')@dnl

@define(make_dmodconf, `@ifelse(@(snx.drvmod.$1.enable),yes,`@ifelse(@(snx.drvmod.$1.initf),0,,``	''{ `@(snx.drvmod.$1.initf)' }``,'')')')@dnl

@define(make_dmodconf_list,`@ifelse($1,,,`@make_dmodconf($1)'
`@make_dmodconf_list(@shift($@))')')@dnl

@define(make_snmpv1_com, ``	''"$1`` ''`@(snx.snmpv1.com.$1.ip)'`` ''`@(snx.snmpv1.com.$1.priv)'"``,'')@dnl

@define(make_snmpv1_com_list, `@ifelse($1,,,`@make_snmpv1_com($1)'
`@make_snmpv1_com_list(@shift($@))')')@dnl

@define(make_snmpv1_trap, ``	''"$1`` ''`@(snx.snmpv1.trap.$1.ip)'"``,'')@dnl

@define(make_snmpv1_trap_list, `@ifelse($1,,,`@make_snmpv1_trap($1)'
`@make_snmpv1_trap_list(@shift($@))')')@dnl

@define(make_snmpv2_party_list, `@ifelse(@(snx.snmpv2.party.$1),,,``	''"`@(snx.snmpv2.party.$1)'"``,''
`@make_snmpv2_party_list(@incr($1))')')@dnl

@define(make_snmpv2_cntx_list, `@ifelse(@(snx.snmpv2.cntx.$1),,,``	''"`@(snx.snmpv2.cntx.$1)'"``,''
`@make_snmpv2_cntx_list(@incr($1))')')@dnl

@define(make_snmpv2_acl_list, `@ifelse(@(snx.snmpv2.acl.$1),,,``	''"`@(snx.snmpv2.acl.$1)'"``,''
`@make_snmpv2_acl_list(@incr($1))')')@dnl

@define(make_snmpv2_view_list, `@ifelse(@(snx.snmpv2.view.$1),,,``	''"`@(snx.snmpv2.view.$1)'"``,''
`@make_snmpv2_view_list(@incr($1))')')@dnl

@dnl  @define(make_snmpv2_sys_contact, `@ifelse(@(snx.snmpv2.sys.contact),,"","`@(snx.snmpv2.sys.contact)'")')@dnl 

@define(make_snmpv2_sys_contact, `@ifelse(@(snx.snmpv2.sys.contact),,,``@(snx.snmpv2.sys.contact)'')')@dnl

@define(make_snmpv2_sys_location, `@ifelse(@(snx.snmpv2.sys.location),,,``@(snx.snmpv2.sys.location)'')')@dnl

@define(make_snmpv2_peer, ``	''{ "$1"``,'' "`@(snx.snmpv2.peers.$1.root)'"``,'' "`@(snx.snmpv2.peers.$1.passwd)'" }``,'')@dnl

@define(make_snmpv2_peers_list,`@ifelse($1,,,`@make_snmpv2_peer($1)'
`@make_snmpv2_peers_list(@shift($@))')')@dnl

@ifelse(@(snx.snmp.enabled),yes,``

extern char **''@(snx.snmpv1.usr_com.funct)``();
extern char **''@(snx.snmpv1.usr_trap.funct)``();

char **(*snmpv1_usr_com_funct)() = ''@(snx.snmpv1.usr_com.funct)``;
char **(*snmpv1_usr_trap_funct)() = ''@(snx.snmpv1.usr_trap.funct)``;

int ev_snmpd;		/* event flag for SMUX peers to sync with SNMPd */

char **snmpv1_def_usr_hook(char **iparm)
{ return iparm; }

char *snmpv1_def_com_tbl[] = {
''@make_snmpv1_com_list(@(snx.snmpv1.com_list))``
	0
};

char *snmpv1_def_trap_tbl[] = {
''@make_snmpv1_trap_list(@(snx.snmpv1.trap_list))``
	0
};

char *snmpv2_sys_contact  = "''@make_snmpv2_sys_contact(1)``" ;
char *snmpv2_sys_location = "''@make_snmpv2_sys_location(1)``" ;


extern char **''@(snx.snmpv2.usr_party.funct)``();
extern char **''@(snx.snmpv2.usr_cntx.funct)``();
extern char **''@(snx.snmpv2.usr_acl.funct)``();
extern char **''@(snx.snmpv2.usr_view.funct)``();

char **(*snmpv2_usr_party_funct)() = ''@(snx.snmpv2.usr_party.funct)``;
char **(*snmpv2_usr_cntx_funct)() = ''@(snx.snmpv2.usr_cntx.funct)``;
char **(*snmpv2_usr_acl_funct)() = ''@(snx.snmpv2.usr_acl.funct)``;
char **(*snmpv2_usr_view_funct)() = ''@(snx.snmpv2.usr_view.funct)``;



char **snmpv2_def_usr_hook(int funct, char **iparm)
{ return iparm; }

char *snmpv2_def_party_tbl[] = {
''@make_snmpv2_party_list(1)``
	0
};

char *snmpv2_def_cntx_tbl[] = {
''@make_snmpv2_cntx_list(1)``
	0
};

char *snmpv2_def_acl_tbl[] = {
''@make_snmpv2_acl_list(1)``
	0
};

char *snmpv2_def_view_tbl[] = {
''@make_snmpv2_view_list(1)``
	0
};

struct {
	char *name;
	char *root;
	char *passwd;
} snmpv2_peers_tbl [] = {
''@make_snmpv2_peers_list(@(snx.snmpv2.peers.list))``
	{0, 0, 0}
};

int snmpv2_ether_mib_support_in_driver = ''@ifelse(@(snx.snmp.ether_mib.enabled),yes,1,0)``; '')@dnl

/*
 * Verbosity level (cmn_err())
 */
int	swk_dbgprt = @(snx.verbosity);

/*
 * if no ldterm module present, tell serial driver to do a sub-set
 */
int	sio_no_ldterm = @ifelse(@(snx.sio.ldterm_present),yes,0,1);

/*
 * Message passing library parameters
 */
int	swk_syscallq_id   = @(snx.msglib.syscallq_id);
int	swk_syscallq_size = @(snx.msglib.syscallq_size);
int	swk_sysintrq_id   = @(snx.msglib.sysintrq_id);
int	swk_sysintrq_size = @(snx.msglib.sysintrq_size);

int	swk_signalq_id 	  = @(snx.msglib.signalq_id);
int	swk_signalq_size  = @(snx.msglib.signalq_size);
int	swk_psignalq_id   = @(snx.msglib.psignalq_id);
int	swk_psignalq_size = @(snx.msglib.psignalq_size);
int     swk_intr_calls    = @(snx.msglib.intr_calls);

int	swk_ocq_id        = @(snx.msglib.ocq_id);
int	swk_ocq_size      = @(snx.msglib.ocq_size);

/*
 * Streams Tunable Parameters
 */
int 	nstrpush      = @(snx.streams.nstrpush);
int 	strmsgsz      = @(snx.streams.strmsgsz);
int 	strctlsz      = @(snx.streams.strctlsz);
int 	strthresh     = @(snx.streams.strthresh);
int     swk_max_mblks = @(snx.streams.max_mblks);

int     swk_buf16     = @(snx.streams.str16bufs);
int     swk_buf32     = @(snx.streams.str32bufs);
int     swk_buf64     = @(snx.streams.str64bufs);
int     swk_buf128    = @(snx.streams.str128bufs);
int     swk_buf256    = @(snx.streams.str256bufs);
int     swk_buf512    = @(snx.streams.str512bufs);
int     swk_buf1024   = @(snx.streams.str1024bufs);
int     swk_buf2048   = @(snx.streams.str2048bufs);
int     swk_buf4560   = @(snx.streams.str4560bufs);

/*
 * Streams Timers Parameters
 */
unsigned long swk_timer_delta = @(snx.streams.timer_delta);
int      swk_max_timers       = @(snx.streams.max_timers);

/*
 * Streams Main Task Parameters
 */
int     swk_max_msgs   = @(snx.streams.max_msgs);
int     swk_max_stacks = @(snx.streams.max_stacks);

/*
 * Streams Memory Parameters
 */
unsigned int swk_heap_size = @(snx.streams.heap_size);
unsigned int swk_mblk_weight = @(snx.streams.mblk_weight);    /* in bytes */
unsigned int swk_logio_bufs_pending = @(snx.streams.logio_bufs_pending);
unsigned int tcp_recvspace = @(snx.tcp.def_rcvbuf);

/*
 * Interface libraries
 */
int	swk_socket_lib = @(snx.interface.socket),
	swk_tli_lib    = @(snx.interface.tli);

/*
 * IP flag(s)
 */
int	initial_ip_forwarding = @(snx.ip.forwarding);

/*
 * Driver/Module declaration and configuration
 */
@make_dmodsw_decl(@(snx.drvmod.list))

struct sdev_tbl dmodsw[] =

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -