xref: /onnv-gate/usr/src/cmd/agents/snmp/snmprelayd/sh_table.h (revision 0:68f95e015346)
1*0Sstevel@tonic-gate /*
2*0Sstevel@tonic-gate  * CDDL HEADER START
3*0Sstevel@tonic-gate  *
4*0Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
5*0Sstevel@tonic-gate  * Common Development and Distribution License, Version 1.0 only
6*0Sstevel@tonic-gate  * (the "License").  You may not use this file except in compliance
7*0Sstevel@tonic-gate  * with the License.
8*0Sstevel@tonic-gate  *
9*0Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*0Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
11*0Sstevel@tonic-gate  * See the License for the specific language governing permissions
12*0Sstevel@tonic-gate  * and limitations under the License.
13*0Sstevel@tonic-gate  *
14*0Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
15*0Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*0Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
17*0Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
18*0Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
19*0Sstevel@tonic-gate  *
20*0Sstevel@tonic-gate  * CDDL HEADER END
21*0Sstevel@tonic-gate  *
22*0Sstevel@tonic-gate  * Copyright 1996 Sun Microsystems, Inc.  All Rights Reserved.
23*0Sstevel@tonic-gate  * Use is subject to license terms.
24*0Sstevel@tonic-gate  */
25*0Sstevel@tonic-gate 
26*0Sstevel@tonic-gate #ifndef _SH_TABLE_H_
27*0Sstevel@tonic-gate #define _SH_TABLE_H_
28*0Sstevel@tonic-gate 
29*0Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
30*0Sstevel@tonic-gate 
31*0Sstevel@tonic-gate #include <unistd.h>
32*0Sstevel@tonic-gate #include <stdio.h>
33*0Sstevel@tonic-gate #include <sys/types.h>
34*0Sstevel@tonic-gate #include <sys/stat.h>
35*0Sstevel@tonic-gate #include <sys/mman.h>
36*0Sstevel@tonic-gate #include <netinet/in.h>
37*0Sstevel@tonic-gate #include <fcntl.h>
38*0Sstevel@tonic-gate #include <dirent.h>
39*0Sstevel@tonic-gate #include <string.h>
40*0Sstevel@tonic-gate 
41*0Sstevel@tonic-gate #include "impl.h"
42*0Sstevel@tonic-gate #include "error.h"
43*0Sstevel@tonic-gate #include "trace.h"
44*0Sstevel@tonic-gate #include "pdu.h"
45*0Sstevel@tonic-gate 
46*0Sstevel@tonic-gate #include "snmprelay_msg.h"
47*0Sstevel@tonic-gate #include "agent.h"
48*0Sstevel@tonic-gate /*
49*0Sstevel@tonic-gate #ifndef _SUBTREE_H_
50*0Sstevel@tonic-gate #include "subtree.h"
51*0Sstevel@tonic-gate #endif
52*0Sstevel@tonic-gate */
53*0Sstevel@tonic-gate 
54*0Sstevel@tonic-gate #define TABLE_TO_OID_TRY 0
55*0Sstevel@tonic-gate #define TABLE_TO_OID_GO  1
56*0Sstevel@tonic-gate 
57*0Sstevel@tonic-gate typedef struct _Table {
58*0Sstevel@tonic-gate 	Integer regTblIndex;
59*0Sstevel@tonic-gate 	Integer	regTblAgentID;
60*0Sstevel@tonic-gate         Oid name;
61*0Sstevel@tonic-gate         Subid first_column_subid; /* Subid may convert to Integer */
62*0Sstevel@tonic-gate         Subid last_column_subid;
63*0Sstevel@tonic-gate         Subid first_index_subid;
64*0Sstevel@tonic-gate         Subid last_index_subid;
65*0Sstevel@tonic-gate 	Integer	regTblStatus;
66*0Sstevel@tonic-gate 	String	regTblView;
67*0Sstevel@tonic-gate         Agent *agent;
68*0Sstevel@tonic-gate         struct _Table *next_table;
69*0Sstevel@tonic-gate 	int mirror_flag;
70*0Sstevel@tonic-gate } Table;
71*0Sstevel@tonic-gate 
72*0Sstevel@tonic-gate extern int is_first_entry(Table *table);
73*0Sstevel@tonic-gate extern void table_free(Table *tp);
74*0Sstevel@tonic-gate extern void table_list_delete();
75*0Sstevel@tonic-gate extern void trace_tables();
76*0Sstevel@tonic-gate extern void delete_all_tables_for_agent(Agent *agent);
77*0Sstevel@tonic-gate extern void table_detach(Table *tp);
78*0Sstevel@tonic-gate extern int activate_table(Table *tp);
79*0Sstevel@tonic-gate extern int delete_table(Table *tp);
80*0Sstevel@tonic-gate extern int activate_table_for_agent(Agent* agent);
81*0Sstevel@tonic-gate 
82*0Sstevel@tonic-gate extern Table *first_table;
83*0Sstevel@tonic-gate extern Table *last_table;
84*0Sstevel@tonic-gate 
85*0Sstevel@tonic-gate extern int single_table_to_subtrees(int pass,Table *tp, char* error_label);
86*0Sstevel@tonic-gate 
87*0Sstevel@tonic-gate extern void delete_all_table_from_agent(Agent *agent);
88*0Sstevel@tonic-gate 
89*0Sstevel@tonic-gate extern void create_mirror_table_from_subtree();
90*0Sstevel@tonic-gate 
91*0Sstevel@tonic-gate #endif
92