yumapro  20.10-12
YumaPro SDK
agt_ypsnmp_proto.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  OVERVIEW
72 
73  This module implements an snmp AgentX Protocol.
74  Parsing, Re-allocation and packets check handling.
75 
76 *************************************************************************/
77 
78 
79 /*
80  * Copyright (c) 2017, YumaWorks. Inc., All Rights Reserved.
81  *
82  * Unless required by applicable law or agreed to in writing,
83  * software distributed under the License is distributed on an
84  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
85  * KIND, either express or implied. See the License for the
86  * specific language governing permissions and limitations
87  * under the License.
88  */
89 
90 #if defined(WITH_SNMP) && defined(WITH_RESTCONF)
91 
92 #ifndef _H_agt_ypsnmp_proto
93 #define _H_agt_ypsnmp_proto
94 
95 
102 /*********************************************************************
103 * *
104 * C H A N G E H I S T O R Y *
105 * *
106 *********************************************************************
107 
108 date init comment
109 ----------------------------------------------------------------------
110 8-Nov-17 am Begun.
111 */
112 
113 #ifndef _H_status_enum
114 #include "status_enum.h"
115 #endif
116 
117 #ifdef __cplusplus
118 extern "C" {
119 #endif
120 
121 
122 /********************************************************************
123 * *
124 * C O N S T A N T S *
125 * *
126 *********************************************************************/
127 
128 
129 /********************************************************************
130 * *
131 * T Y P E S *
132 * *
133 *********************************************************************/
134 
135 
136 /********************************************************************
137 * *
138 * F U N C T I O N S *
139 * *
140 *********************************************************************/
141 
142 
167 extern int
168  agentx_parse (netsnmp_session *session,
169  netsnmp_pdu *pdu,
170  u_char *data,
171  size_t len);
172 
173 
190 extern int
191  agentx_realloc_build (netsnmp_session *session,
192  netsnmp_pdu *pdu,
193  u_char **buf,
194  size_t *buf_len,
195  size_t *out_len);
196 
197 
222 extern int
223  agentx_check_packet (u_char * packet,
224  size_t packet_len);
225 
226 
227 
231 #ifdef __cplusplus
232 } /* end extern 'C' */
233 #endif
234 
235 #endif // _H_agt_ypsnmp_proto
236 #endif // defined(WITH_SNMP) && defined(WITH_RESTCONF)
agt_ypsnmp.h
Yuma Interface to net-snmp data structures. Agent interface.
agt_restconf.h
IETF RESTCONF Protocol Message Handler.
agt_ses.h
Server Session Management.
val.h
Value Node Basic Support.
status_enum.h
global error status code enumerations
agt_ncxserver.h
NCX Server Transport and IO Library.
agt_not.h
NETCONF Notifications DM module support.
ses_msg.h
NETCONF Session Message Common definitions module.
val_util.h
Value Node Utilities.
agentx_parse
int agentx_parse(netsnmp_session *session, netsnmp_pdu *pdu, u_char *data, size_t len)
Utility functions for parsing an AgentX packet.
Definition: agt_ypsnmp_proto.c:1371
val_child.h
Value Node Child Access Support.
agt.h
Multi-Protocol Network Management Server.
agt_ypsnmp_sec.h
Defines the SNMP security and authentication for incoming snmp requests and notifications.
agt_ypsnmp_util.h
Utility Functions for YP SNMP.
agentx_check_packet
int agentx_check_packet(u_char *packet, size_t packet_len)
Check the packet.
Definition: agt_ypsnmp_proto.c:1782
agt_ypsnmp_not.h
Defines and implements SNMP notification and trap handling.
agt_ypsnmp_proto.h
SNMP Protocol Handler.
agentx_realloc_build
int agentx_realloc_build(netsnmp_session *session, netsnmp_pdu *pdu, u_char **buf, size_t *buf_len, size_t *out_len)
Realloc an AgentX PDU.
Definition: agt_ypsnmp_proto.c:1739
smioid_tree.h
AVL Tree storage of SMI OID data.
yangapi.h
YANG-API definitions (pre-RESTCONF)