anchor.diff:  init(Starter, Parent) ->
       process_flag(trap_exit, true),
       process_flag(priority, max),
  -    register(heart, self()),
  +    register(?MODULE, self()),
       case catch start_portprogram() of
   	{ok, Port} ->
   	    Starter ! {ok, self()},
  
positive.code: -define(HEART_PORT_NAME, heart_port).
  
  -record(state,{port :: port(),
                 cmd  :: [] | binary()}).
  
  %%---------------------------------------------------------------------
  
  
negative.code:       Cmd :: string().
  
  set_cmd(Cmd) ->
      ?MODULE ! {self(), set_cmd, Cmd},
      wait().
  
  -spec get_cmd() -> {ok, Cmd} when
        Cmd :: string().
  
  get_cmd() ->
      ?MODULE ! {self(), get_cmd},
      wait().
  
  -spec clear_cmd() -> ok.
  
  clear_cmd() ->
      ?MODULE ! {self(), clear_cmd},
      wait().
  
  -spec set_callback(Module,Function) -> 'ok' | {'error', {'bad_callback', {Module, Function}}} when
        Module :: module(),
        Function :: function().
  
  set_callback(Module, Function) ->
      ?MODULE ! {self(), set_callback, {Module,Function}},
      wait().
  
  -spec get_callback() -> {'ok', Callback} | 'none' when
        Callback :: {module(), function()}.
  
  get_callback() ->
      ?MODULE ! {self(), get_callback},
      wait().
  
  -spec clear_callback() -> ok.
  
  clear_callback() ->
      ?MODULE ! {self(), clear_callback},
      wait().
  
  
  