--	Test of types acceptable to VAX/FORTRAN		FRED.RPC
--
--	This package tests ARRAY and nested RECORD formats.
--	It assumes that the basic types work ok (tested by BIG)
--	It does not test pointers (not acceptable to FORTRAN).
--
package fredsub is

    type      byte_type      is   rpc_byte;	-- VAX only
    type      char_type      is   rpc_char;	-- VAX only
    type      short_type     is   rpc_short;	-- VAX only
    type      long_type      is   rpc_long;	-- VAX only
    type      int_type	     is   rpc_integer;
    type      real_type      is   rpc_real32;
    type      str_type       is   string(20);
    type      array_type     is   array(0..10,5..12) of rpc_char;
    type      seq_type       is   sequence(80) of rpc_long;

    type      arr_str    is	  array(1..10) of str_type;
    type      s_of_string    is	  sequence(10) of str_type;
    type      seq_of_str_2   is	  sequence(9) of str_type;
    type      my_rec	     is	  record
					my_int: int_type;
					my_a_s:	 arr_str;
					my_rec2: record
					   field1: int_type;
					   field2: real_type;
					   field3: str_type;
					end record;
				  end record;


    procedure fred_in(		p1:	IN	my_rec);
    procedure fred_out(		p1:	OUT	my_rec);
    procedure fred_in_out(	p1:	IN OUT	my_rec);

--    procedure in_out_arr_str(
--		p1:	IN OUT	arr_str);
--    procedure out_arr_str(
--		p1:	OUT	arr_str);
--
--    procedure in_rec(	p1:	my_rec);
--
--    procedure mixture(
--		p1:	IN	my_rec;
--		p2:	OUT	my_rec;
--		p3:	IN OUT	my_rec;
--		p4:	IN	arr_acc_rec);

end fredsub;
