
#include <rpcheader.h>

typedef    rpc_byte byte_type;
typedef    rpc_char char_type;
typedef    rpc_short short_type;
typedef    rpc_long long_type;
typedef    rpc_real32 real_type;
typedef    rpc_char str_type[81];
typedef    rpc_char substr_type[81];
typedef    rpc_char array_type[11][8];
typedef    rpc_long seq_type[80];

program_index p_bigsub;

extern in_out();
/*  Parameters: 
    rpc_byte *my_byte;
    rpc_char *my_char;
    rpc_short *my_short;
    rpc_long *my_long;
    rpc_real32 *my_real;
    str_type my_str;
    substr_type a_my_substr;
    rpc_integer *s_my_substr;
    rpc_integer *l_my_substr;
    array_type my_array;
    seq_type a_my_seq;
    rpc_integer *l_my_seq;
    */

extern only_in();
/*  Parameters: 
    rpc_byte *my_byte;
    rpc_char *my_char;
    rpc_short *my_short;
    rpc_long *my_long;
    rpc_real32 *my_real;
    str_type my_str;
    substr_type a_my_substr;
    rpc_integer *s_my_substr;
    rpc_integer *l_my_substr;
    array_type my_array;
    seq_type a_my_seq;
    rpc_integer *l_my_seq;
    */

extern only_out();
/*  Parameters: 
    rpc_byte *my_byte;
    rpc_char *my_char;
    rpc_short *my_short;
    rpc_long *my_long;
    rpc_real32 *my_real;
    str_type my_str;
    substr_type a_my_substr;
    rpc_integer *s_my_substr;
    rpc_integer *l_my_substr;
    array_type my_array;
    seq_type a_my_seq;
    rpc_integer *l_my_seq;
    */

extern rpc_long bigsub1();
/*  Parameters: 
    rpc_long *p1;
    rpc_long *p2;
    rpc_long *p3;
    */

extern no_parameters();
/*  Parameters: none
    */

static rpc_message *rpc_p_buf;

r_in_out()
{
    rpc_byte my_byte;
    rpc_char my_char;
    rpc_short my_short;
    rpc_long my_long;
    rpc_real32 my_real;
    str_type my_str;
    substr_type a_my_substr;
    rpc_integer s_my_substr;
    rpc_integer l_my_substr;
    array_type my_array;
    seq_type a_my_seq;
    rpc_integer l_my_seq;
    register rpc_integer rpc_a;
    register rpc_integer rpc_b;

   upk_byte(rpc_p_buf, my_byte);
   upk_char(rpc_p_buf, my_char);
   upk_short(rpc_p_buf, my_short);
   upk_long(rpc_p_buf, my_long);
   upk_real32(rpc_p_buf, my_real);
   upk_integer(rpc_p_buf, rpc_b);
   for (rpc_a = 0; rpc_a < rpc_b; rpc_a++)
   upk_char(rpc_p_buf, my_str[rpc_a]);
   my_str[rpc_b] = '\0';
    if (rpc_p_buf->m_index%2) rpc_p_buf->m_index++;
   upk_integer(rpc_p_buf, s_my_substr);
   upk_integer(rpc_p_buf, l_my_substr);
    for (rpc_a = s_my_substr-1; rpc_a < l_my_substr + s_my_substr-1; rpc_a++)
      upk_char(rpc_p_buf, a_my_substr[rpc_a]);
    if (rpc_p_buf->m_index%2) rpc_p_buf->m_index++;
   for (rpc_a = 0; rpc_a<11; rpc_a++) {
      for (rpc_b = 0; rpc_b<8; rpc_b++) {
         upk_char(rpc_p_buf, my_array[rpc_a][rpc_b]);
      }
   }
   upk_integer(rpc_p_buf, l_my_seq);
   for (rpc_a = 0; rpc_a< l_my_seq; rpc_a++) {
      upk_long(rpc_p_buf, a_my_seq[rpc_a]);
         }
    rpc_p_buf->m_index = RETURN_HEADER_LENGTH;
    in_out(&my_byte, &my_char, &my_short, 
        &my_long, &my_real, my_str, a_my_substr, &s_my_substr, &l_my_substr, 
        my_array, a_my_seq, &l_my_seq);
   pck_byte(rpc_p_buf, my_byte);
   pck_char(rpc_p_buf, my_char);
   pck_short(rpc_p_buf, my_short);
   pck_long(rpc_p_buf, my_long);
   pck_real32(rpc_p_buf, my_real);
   for (rpc_b = 0; rpc_b <= 80; rpc_b++)
   if (my_str[rpc_b] == '\0') break;
   pck_integer(rpc_p_buf, rpc_b);
   for (rpc_a = 0; rpc_a < rpc_b; rpc_a++)
   pck_char(rpc_p_buf, my_str[rpc_a]);
    if (rpc_p_buf->m_index%2) rpc_p_buf->m_index++;
   pck_integer(rpc_p_buf, s_my_substr);
   pck_integer(rpc_p_buf, l_my_substr);
    for (rpc_a = s_my_substr-1; rpc_a < l_my_substr + s_my_substr-1; rpc_a++)
      pck_char(rpc_p_buf, a_my_substr[rpc_a]);
    if (rpc_p_buf->m_index%2) rpc_p_buf->m_index++;
   for (rpc_a = 0; rpc_a<11; rpc_a++) {
      for (rpc_b = 0; rpc_b<8; rpc_b++) {
         pck_char(rpc_p_buf, my_array[rpc_a][rpc_b]);
      }
   }
   pck_integer(rpc_p_buf, l_my_seq);
   for (rpc_a = 0; rpc_a< l_my_seq; rpc_a++) {
      pck_long(rpc_p_buf, a_my_seq[rpc_a]);
         }
