anchor.diff:  check_engine_id(EngineId) ->
       snmp_conf:check_string(EngineId).
   
  -check_mask([], _TAddr) ->
  +
  +check_mask(_TDomain, [], _TAddress) ->
       ok;
  -check_mask(TMask, TAddr) when length(TMask) == length(TAddr) ->
  -    snmp_conf:check_taddress(TMask);
  -check_mask(TMask, _TAddr) ->
  +check_mask(TDomain, TMask, TAddress) when length(TMask) =:= length(TAddress) ->
  +    snmp_conf:check_taddress(TDomain, TMask);
  +check_mask(_TDomain, TMask, _TAddr) ->
       throw({error, {invalid_mask, TMask}}).
   
   
  
positive.code: 	    Error
      end;
  snmpTargetAddrTable(is_set_ok, RowIndex, Cols0) ->
      case (catch verify_targetAddrTable_cols(Cols0, [])) of
  	{ok, Cols} ->
  	    %% Add columns for augmenting table snmpTargetAddrExtTable and for
  	    %% target engine ID.  Target engine ID is set to "".  The function
  	    %% get_target_engine_id will return "" unless a value is set using
  	    %% set_target_engine_id.  If it is "" Informs can't be sent to the
  	    %% target.
  	    NCols = Cols ++ [{?snmpTargetAddrEngineId, ""},
  			     {?snmpTargetAddrTMask, []},
  
negative.code: %%  {Name, Ip, Udp, Timeout, RetryCount, TagList, Params, EngineId,
  %%   TMask, MMS}
  %%-----------------------------------------------------------------
  default_domain() ->
      snmpUDPDomain.
  
  check_target_addr({Name, Domain, Ip, Udp, Timeout, RetryCount, TagList,
  		   Params, EngineId, TMask, MMS}) ->
      ?vtrace("check target address with:"
  	    "~n   Name:       ~s"
  	    "~n   Domain:     ~p"
  	    "~n   Ip:         ~p"
  	    "~n   Udp:        ~p"
  	    "~n   Timeout:    ~p"
  	    "~n   RetryCount: ~p"
  	    "~n   TagList:    ~p"
  	    "~n   Params:     ~p"
  	    "~n   EngineId:   ~p"
  	    "~n   TMask:      ~p"
  	    "~n   MMS:        ~p",
  	    [Name, 
  	     Domain, Ip, Udp, 
  	     Timeout, RetryCount,
  	     TagList, Params, EngineId, TMask, MMS]),
      snmp_conf:check_string(Name,{gt,0}),
      snmp_conf:check_domain(Domain),
      snmp_conf:check_ip(Domain, Ip),
      snmp_conf:check_integer(Udp, {gt, 0}),
      snmp_conf:check_integer(Timeout, {gte, 0}),
      snmp_conf:check_integer(RetryCount, {gte,0}),
      snmp_conf:check_string(TagList),
      snmp_conf:check_string(Params),
      check_engine_id(EngineId),
      TAddress = snmp_conf:mk_taddress(Domain, Ip, Udp),
      TDomain  = snmp_conf:mk_tdomain(Domain), 
      check_mask(TDomain, TMask, TAddress),
      snmp_conf:check_packet_size(MMS),
      ?vtrace("check target address done",[]),
      Addr = {Name, TDomain, TAddress, Timeout,
  	    RetryCount, TagList, Params,
  	    ?'StorageType_nonVolatile', ?'RowStatus_active', EngineId,
              TMask, MMS}, % Values for Augmenting table in SNMP-COMMUNITY-MIB
      {ok, Addr};
  check_target_addr({Name, Ip, Udp, Timeout, RetryCount, TagList,
                     Params, EngineId, TMask, MMS}) ->
      Domain = default_domain(), 
      check_target_addr({Name, 
  		       Domain, Ip, Udp, 
  		       Timeout, RetryCount, TagList,
  		       Params, EngineId, TMask, MMS});
  check_target_addr({Name, Ip, Udp, Timeout, RetryCount, TagList, Params, 
                     EngineId}) ->
      check_target_addr({Name, Ip, Udp, Timeout, RetryCount, TagList,
  