File 2633-snmp-agent-Add-update-export-useful-types.patch of Package erlang

From c733d7360045270a5d61d7b7a577abb88fa7fd66 Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Thu, 21 Mar 2019 12:25:14 +0100
Subject: [PATCH 3/8] [snmp|agent] Add/update/export useful types

Add/update and export some useful types.

OTP-15691
---
 lib/snmp/include/snmp_types.hrl                |  5 ++++-
 lib/snmp/src/agent/snmp_view_based_acm_mib.erl | 16 ++++++++++++++--
 lib/snmp/src/app/snmp.erl                      | 24 ++++++++++++++++++++++--
 3 files changed, 40 insertions(+), 5 deletions(-)

diff --git a/lib/snmp/include/snmp_types.hrl b/lib/snmp/include/snmp_types.hrl
index ffe30996dc..eff17a13a3 100644
--- a/lib/snmp/include/snmp_types.hrl
+++ b/lib/snmp/include/snmp_types.hrl
@@ -1,7 +1,7 @@
 %%
 %% %CopyrightBegin%
 %% 
-%% Copyright Ericsson AB 1996-2016. All Rights Reserved.
+%% Copyright Ericsson AB 1996-2019. All Rights Reserved.
 %% 
 %% Licensed under the Apache License, Version 2.0 (the "License");
 %% you may not use this file except in compliance with the License.
@@ -349,6 +349,9 @@
 -define(view_included, 1).
 -define(view_excluded, 2).
 
+-define(view_wildcard, 0).
+-define(view_exact,    1).
+
 
 %%-----------------------------------------------------------------
 %% From SNMPv2-SMI
diff --git a/lib/snmp/src/agent/snmp_view_based_acm_mib.erl b/lib/snmp/src/agent/snmp_view_based_acm_mib.erl
index 02415e8036..c6eeb7cea2 100644
--- a/lib/snmp/src/agent/snmp_view_based_acm_mib.erl
+++ b/lib/snmp/src/agent/snmp_view_based_acm_mib.erl
@@ -1,7 +1,7 @@
 %% 
 %% %CopyrightBegin%
 %% 
-%% Copyright Ericsson AB 1999-2016. All Rights Reserved.
+%% Copyright Ericsson AB 1999-2019. All Rights Reserved.
 %% 
 %% Licensed under the Apache License, Version 2.0 (the "License");
 %% you may not use this file except in compliance with the License.
@@ -37,6 +37,12 @@
 %%
 -export([emask2imask/1]).
 
+-export_type([
+              mibview/0,
+              internal_view_mask/0,
+              internal_view_mask_element/0,
+              internal_view_type/0
+             ]).
 
 -include("snmp_types.hrl").
 -include("SNMPv2-TC.hrl").
@@ -53,7 +59,13 @@
 
 
 -type internal_view_mask()         :: null | [internal_view_mask_element()].
--type internal_view_mask_element() :: 0 | 1.
+-type internal_view_mask_element() :: ?view_wildcard |
+                                      ?view_exact.
+-type internal_view_type() :: ?view_included | ?view_excluded.
+
+-type mibview() :: [{SubTree :: snmp:oid(),
+                     Mask    :: internal_view_mask(),
+                     Type    :: internal_view_type()}].
 
 -type external_view_mask() :: octet_string(). % At most length of 16 octet
 -type octet_string()       :: [octet()].
diff --git a/lib/snmp/src/app/snmp.erl b/lib/snmp/src/app/snmp.erl
index 8a736f688b..216452afdd 100644
--- a/lib/snmp/src/app/snmp.erl
+++ b/lib/snmp/src/app/snmp.erl
@@ -1,7 +1,7 @@
 %% 
 %% %CopyrightBegin%
 %% 
-%% Copyright Ericsson AB 1996-2017. All Rights Reserved.
+%% Copyright Ericsson AB 1996-2019. All Rights Reserved.
 %% 
 %% Licensed under the Apache License, Version 2.0 (the "License");
 %% you may not use this file except in compliance with the License.
@@ -116,7 +116,10 @@
 	      pdu/0, 
 	      trappdu/0, 
 	      mib/0, 
-	      mib_name/0, 
+	      mib_name/0,
+
+              error_status/0,
+              error_index/0,
  
 	      void/0
 	     ]).
@@ -208,6 +211,23 @@
 -type pdu()           :: #pdu{}.
 -type trappdu()       :: #trappdu{}.
 
+%% We should really specify all of these, but they are so numerous...
+%% See the validate_err/1 function in the snmpa_agent.
+%% Here are a number of them:
+%% badValue |
+%% commitFailed |
+%% genErr |
+%% inconsistentName | inconsistentValue |
+%% noAccess | noCreation |
+%% noSuchInstance | noSuchName | noSuchObject |
+%% notWritable |
+%% resourceUnavailable |
+%% undoFailed |
+%% wrongValue
+
+-type error_status()  :: atom().
+-type error_index()   :: pos_integer().
+
 -type void()          :: term().
 
 
-- 
2.16.4

openSUSE Build Service is sponsored by