anchor.diff:  loop(Cpid, Data) ->
       receive
   
  -	{From, {search, A}} ->
  -	    {Res,NewData} = do_search(Data, A),
  +	{From, {search, A, Controls}} ->
  +	    {Res,NewData} = do_search(Data, A, Controls),
   	    send(From,Res),
   	    ?MODULE:loop(Cpid, NewData);
   
  -	{From, {modify, Obj, Mod}} ->
  -	    {Res,NewData} = do_modify(Data, Obj, Mod),
  +	{From, {modify, Obj, Mod, Controls}} ->
  +	    {Res,NewData} = do_modify(Data, Obj, Mod, Controls),
   	    send(From,Res),
   	    ?MODULE:loop(Cpid, NewData);
   
  -	{From, {modify_dn, Obj, NewRDN, DelOldRDN, NewSup}} ->
  -	    {Res,NewData} = do_modify_dn(Data, Obj, NewRDN, DelOldRDN, NewSup),
  +	{From, {modify_dn, Obj, NewRDN, DelOldRDN, NewSup, Controls}} ->
  +	    {Res,NewData} = do_modify_dn(Data, Obj, NewRDN, DelOldRDN, NewSup, Controls),
   	    send(From,Res),
   	    ?MODULE:loop(Cpid, NewData);
   
  -	{From, {add, Entry, Attrs}} ->
  -	    {Res,NewData} = do_add(Data, Entry, Attrs),
  +	{From, {add, Entry, Attrs, Controls}} ->
  +	    {Res,NewData} = do_add(Data, Entry, Attrs, Controls),
   	    send(From,Res),
   	    ?MODULE:loop(Cpid, NewData);
   
  
positive.code: polish_result([]) ->
      [].
  
  do_search_0(Data, A) ->
      Req = #'SearchRequest'{baseObject = A#eldap_search.base,
  			   scope = v_scope(A#eldap_search.scope),
  			   derefAliases = v_deref(A#eldap_search.deref),
  
negative.code: %%%  Returns: ok | {error, Error}
  %%% --------------------------------------------------------------------
  simple_bind(Handle, Dn, Passwd) when is_pid(Handle)  ->
      simple_bind(Handle, Dn, Passwd, asn1_NOVALUE).
  
  simple_bind(Handle, Dn, Passwd, Controls) when is_pid(Handle)  ->
      send(Handle, {simple_bind, Dn, Passwd, Controls}),
      recv(Handle).
  
  %%% --------------------------------------------------------------------
  