yumapro  21.10T-8
YumaPro SDK
agt_ypsnmp_agentx.h
Go to the documentation of this file.
1 /*****************************************************************************
2 Various copyrights apply to this package, listed in various separate
3 parts below. Please make sure that you read all the parts.
4 
5 ---- Part 1: Sparta, Inc (BSD) -----
6 
7 Copyright (c) 2003-2010, Sparta, Inc
8 All rights reserved.
9 
10 Redistribution and use in source and binary forms, with or without
11 modification, are permitted provided that the following conditions are met:
12 
13 * Redistributions of source code must retain the above copyright notice,
14  this list of conditions and the following disclaimer.
15 
16 * Redistributions in binary form must reproduce the above copyright
17  notice, this list of conditions and the following disclaimer in the
18  documentation and/or other materials provided with the distribution.
19 
20 * Neither the name of Sparta, Inc nor the names of its contributors may
21  be used to endorse or promote products derived from this software
22  without specific prior written permission.
23 
24 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
25 IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
26 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
27 PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
28 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
30 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
31 OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
32 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
33 OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
34 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 
36 ---- Part 2: ScienceLogic, LLC (BSD) ----
37 
38 Copyright (c) 2006, ScienceLogic, LLC
39 All rights reserved.
40 
41 Redistribution and use in source and binary forms, with or without
42 modification, are permitted provided that the following conditions are
43 met:
44 
45 * Redistributions of source code must retain the above copyright notice,
46  this list of conditions and the following disclaimer.
47 
48 * Redistributions in binary form must reproduce the above copyright
49  notice, this list of conditions and the following disclaimer in the
50  documentation and/or other materials provided with the distribution.
51 
52 * Neither the name of ScienceLogic, LLC nor the names of its
53  contributors may be used to endorse or promote products derived
54  from this software without specific prior written permission.
55 
56 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
57 ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
58 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
59 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
60 HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
61 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
62 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
63 OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
64 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
65 TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
66 USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
67 DAMAGE.
68 *************************************************************************/
69 
70 
71 /*************************************************************************
72  OVERVIEW
73 
74  This module implements an snmp abstraction layer that acts as a
75  an intermediate between the yang data store and the snmp library.
76  This module makes use of restconf apis to interface with the data
77  store(s) and provides sort of a gateway functionality by converting
78  requests and responses between snmp and restconf interface.
79 *************************************************************************/
80 
81 
82 /*
83  * Copyright (c) 2017, YumaWorks. Inc., All Rights Reserved.
84  *
85  * Unless required by applicable law or agreed to in writing,
86  * software distributed under the License is distributed on an
87  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
88  * KIND, either express or implied. See the License for the
89  * specific language governing permissions and limitations
90  * under the License.
91  */
92 
93 #if defined(WITH_SNMP) && defined(WITH_RESTCONF)
94 #ifndef _H_agt_ypsnmp_agentx
95 #define _H_agt_ypsnmp_agentx
96 
97 /* FILE: agt_ypsnmp_agentx.h
98 *********************************************************************
99 * *
100 * P U R P O S E *
101 * *
102 *********************************************************************/
103 
111 /*********************************************************************
112 * *
113 * C H A N G E H I S T O R Y *
114 * *
115 *********************************************************************
116 
117 date init comment
118 ----------------------------------------------------------------------
119 12-Oct-17 am Begun.
120 */
121 
122 #ifndef _H_status_enum
123 #include "status_enum.h"
124 #endif
125 
126 
127 #ifdef __cplusplus
128 extern "C" {
129 #endif
130 
131 /********************************************************************
132 * *
133 * C O N S T A N T S *
134 * *
135 *********************************************************************/
136 
137 
138 /********************************************************************
139 * *
140 * T Y P E S *
141 * *
142 *********************************************************************/
143 
144 
145 /********************************************************************
146 * *
147 * F U N C T I O N S *
148 * *
149 *********************************************************************/
150 
151 
152 
172 extern status_t
173  agt_ypsnmp_agentx_init (void);
174 
175 
182 extern void
184 
185 
192 extern void
194 
195 
209 extern int
211  netsnmp_session *session,
212  int reqid,
213  netsnmp_pdu *pdu,
214  void *magic);
215 
216 
230 extern int
232  netsnmp_session *session,
233  int reqid,
234  netsnmp_pdu *pdu,
235  void *magic);
236 
237 
248 extern boolean
250 
251 
263 extern ses_cb_t *
265 
266 
271 #ifdef __cplusplus
272 } /* end extern 'C' */
273 #endif
274 
275 #endif // _H_agt_ypsnmp
276 #endif // defined(WITH_SNMP) && defined(WITH_RESTCONF)
boolean agt_ypsnmp_agentx_connected(void)
Check if the AgentX agent succ connected to the master agent.
Definition: agt_ypsnmp_agentx.c:1166
int agt_ypsnmp_agentx_handle_response(int op, netsnmp_session *session, int reqid, netsnmp_pdu *pdu, void *magic)
Handle the AgentX response.
void agt_ypsnmp_agentx_cleanup(void)
Cleanup the agt_ypsnmp AgetnX module.
Definition: agt_ypsnmp_agentx.c:1023
Session Control Block.
Definition: ses.h:542
status_t
global error return code
Definition: status_enum.h:186
ses_cb_t * agt_ypsnmp_get_agentx_scb(void)
Get the AgentX specific session control block.
Definition: agt_ypsnmp_agentx.c:1190
status_t agt_ypsnmp_agentx_init(void)
Initialize the agt_ypsnmp AgentX module.
Definition: agt_ypsnmp_agentx.c:931
int agt_ypsnmp_agentx_synch_input(int op, netsnmp_session *session, int reqid, netsnmp_pdu *pdu, void *magic)
Synch input.
Definition: agt_ypsnmp_agentx.c:884
global error status code enumerations
void agt_ypsnmp_agentx_check_io(void)
Check if any SNMP messages to process.
Definition: agt_ypsnmp_agentx.c:1073