From aea7190a8eec464aecd8dbcbf0e7ebcf23583f5b Mon Sep 17 00:00:00 2001 From: Micael Karlberg Date: Tue, 21 May 2013 11:44:16 +0200 Subject: [snmp/agent] Fixed basic type issues Defines some basic snmp types in the main snmp api module. Also define some basic snmp agent types in the main snmp agent api module. --- lib/snmp/src/agent/snmpa.erl | 16 +++++++++++++++- lib/snmp/src/agent/snmpa_mib_data.erl | 32 ++++++++++++++------------------ lib/snmp/src/app/snmp.erl | 18 +++++++++++++++++- 3 files changed, 46 insertions(+), 20 deletions(-) (limited to 'lib/snmp') diff --git a/lib/snmp/src/agent/snmpa.erl b/lib/snmp/src/agent/snmpa.erl index b45a47ec6b..785276c73d 100644 --- a/lib/snmp/src/agent/snmpa.erl +++ b/lib/snmp/src/agent/snmpa.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2004-2012. All Rights Reserved. +%% Copyright Ericsson AB 2004-2013. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -111,12 +111,26 @@ -export([print_mib_info/0, print_mib_tables/0, print_mib_variables/0]). +-export_type([ + me/0 + ]). + + + -include("snmpa_atl.hrl"). -include("snmpa_internal.hrl"). +-include_lib("snmp/include/snmp_types.hrl"). % type of me needed. -define(DISCO_EXTRA_INFO, undefined). +%%----------------------------------------------------------------- +%% Types +%%----------------------------------------------------------------- + +-type me() :: #me{}. + + %%----------------------------------------------------------------- %% This utility function is used to convert an old SNMP application %% config (prior to snmp-4.0) to a SNMP agent config (as of diff --git a/lib/snmp/src/agent/snmpa_mib_data.erl b/lib/snmp/src/agent/snmpa_mib_data.erl index 30078db3cf..ffacdd5b3a 100644 --- a/lib/snmp/src/agent/snmpa_mib_data.erl +++ b/lib/snmp/src/agent/snmpa_mib_data.erl @@ -27,8 +27,6 @@ %% These types should really be defined elsewhere... -export_type([ - oid/0, - mib_storage/0, mib_storage_dir/0, mib_storage_action/0, @@ -39,8 +37,6 @@ mib_view_inclusion/0 ]). --type oid() :: [non_neg_integer()]. - -type mib_storage() :: ets | {ets, Dir :: mib_storage_dir()} | {ets, Dir :: mib_storage_dir(), Action :: mib_storage_action()} | @@ -56,14 +52,12 @@ -type mib_storage_action() :: clear | keep. -type mib_view() :: [mib_view_elem()]. --type mib_view_elem() :: {SubTree :: oid(), +-type mib_view_elem() :: {SubTree :: snmp:oid(), Mask :: [non_neg_integer()], Inclusion :: mib_view_inclusion()}. -type mib_view_mask() :: [non_neg_integer()]. -type mib_view_inclusion() :: 1 | 2. % 1 = included, 2 = excluded --type me() :: #me{}. - -type filename() :: file:filename(). @@ -83,23 +77,25 @@ TeOverride :: boolean()) -> {ok, NewState :: term()} | {error, Reason :: not_loaded | term()}. --callback lookup(State :: term(), Oid :: oid()) -> +-callback lookup(State :: term(), Oid :: snmp:oid()) -> {false, Reason :: term()} | - {variable, MibEntry :: me()} | - {table_column, MibEntry :: me(), TableEntryOid :: oid()} | - {subagent, SubAgentPid :: pid(), SAOid :: oid()}. + {variable, MibEntry :: snmpa:me()} | + {table_column, MibEntry :: snmpa:me(), TableEntryOid :: snmp:oid()} | + {subagent, SubAgentPid :: pid(), SAOid :: snmp:oid()}. --callback next(State :: term(), Oid :: oid(), MibView :: mib_view()) -> +-callback next(State :: term(), Oid :: snmp:oid(), MibView :: mib_view()) -> endOfView | false | - {subagent, SubAgentPid :: pid(), SAOid :: oid()} | - {variable, MibEntry :: me(), VarOid :: oid()} | - {table, TableOid :: oid(), TableRestOid :: oid(), MibEntry :: me()}. + {subagent, SubAgentPid :: pid(), SAOid :: snmp:oid()} | + {variable, MibEntry :: snmpa:me(), VarOid :: snmp:oid()} | + {table, TableOid :: snmp:oid(), TableRestOid :: snmp:oid(), MibEntry :: snmpa:me()}. --callback register_subagent(State :: term(), Oid :: oid(), Pid :: pid()) -> +-callback register_subagent(State :: term(), + Oid :: snmp:oid(), + Pid :: pid()) -> {ok, NewState :: term()} | {error, Reason :: term()}. -callback unregister_subagent(State :: term(), - PidOrOid :: pid() | oid()) -> + PidOrOid :: pid() | snmp:oid()) -> {ok, NewState :: term()} | % When second arg was a pid() {ok, NewState :: term(), Pid :: pid()} | % When second arg was a oid() {error, Reason :: term()}. @@ -107,7 +103,7 @@ -callback dump(State :: term(), Destination :: io | filename()) -> ok | {error, Reason :: term()}. --callback which_mib(State :: term(), Oid :: oid()) -> +-callback which_mib(State :: term(), Oid :: snmp:oid()) -> {ok, Mib :: string()} | {error, Reason :: term()}. -callback which_mibs(State :: term()) -> diff --git a/lib/snmp/src/app/snmp.erl b/lib/snmp/src/app/snmp.erl index cd3e3a0055..1bb562654a 100644 --- a/lib/snmp/src/app/snmp.erl +++ b/lib/snmp/src/app/snmp.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1996-2012. All Rights Reserved. +%% Copyright Ericsson AB 1996-2013. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -90,6 +90,13 @@ ]). +-export_type([ + oid/0, + + void/0 + ]). + + %% This is for XREF -deprecated([{c, 1, eventually}, {c, 2, eventually}, @@ -143,6 +150,15 @@ -define(APPLICATION, snmp). + +%%----------------------------------------------------------------- +%% Types +%%----------------------------------------------------------------- + +-type oid() :: [non_neg_integer()]. +-type void() :: term(). + + %%----------------------------------------------------------------- %% Application %%----------------------------------------------------------------- -- cgit v1.2.3