anchor.diff:  %%       Result = ok | {error, Reason}
   %%       Reason = ext_posix() | terminated | system_limit
   %%--------------------------------------------------------------------
  -scan_file(ProtoFile) when is_list(ProtoFile) ->
  +scan_file(ProtoFile) ->
  +    scan_file(ProtoFile,[]).
  +
  +%%--------------------------------------------------------------------
  +%% @doc Generats a built .beam file and header file .hrl
  +%%      Considerd option properties: output_include_dir, 
  +%%                                   output_ebin_dir
  +%% @spec scan_file(ProtoFile,Options) -> Result
  +%%       ProtoFile = string()
  +%%       Options = proplists()
  +%%       Result = ok | {error, Reason}
  +%%       Reason = ext_posix() | terminated | system_limit
  +%%--------------------------------------------------------------------
  +scan_file(ProtoFile,Options) when is_list(ProtoFile) ->
       Basename = filename:basename(ProtoFile, ".proto") ++ "_pb",
       {ok,Parsed} = parse(ProtoFile),
       {{msg,UntypedMessages},{enum,Enums}} = collect_full_messages(Parsed),
       Messages = resolve_types(UntypedMessages,Enums),
  -    output(Basename, Messages, Enums).
  +    output(Basename, Messages, Enums, Options).
   
   %%--------------------------------------------------------------------
   %% @doc Generats a source .erl file and header file .hrl
  
positive.code: %% FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  %% OTHER DEALINGS IN THE SOFTWARE.
  -module(protobuffs_compile).
  -export([scan_file/1, generate_source/1]).
  
  %%--------------------------------------------------------------------
  %% @doc Generats a built .beam file and header file .hrl
  
negative.code: 
  %% @hidden
  write_header_include_file(Basename, Messages) ->
      {ok, FileRef} = file:open(Basename, [write]),
      [begin
  	 OutFields = [string:to_lower(A) || {_, _, _, A, _, _} <- lists:keysort(1, Fields)],
  	 if
  