struct  printf_arguments {
   int i ;
   double d ;
   char  *3s  &4;
   long long ll ;
};
struct msghdr;
struct iovec;
struct  msghdr {
   void  *6msg_name  &7;
   int msg_namelen ;
   struct iovec   *9msg_iov  &10;
   int msg_iovlen ;
   void  *12msg_control  &13;
   int msg_controllen ;
   int msg_flags ;
};
struct  iovec {
   char  * iov_base ;
   int iov_len ;
};
 extern void __ccuredInit(void) ;
 extern void abort_deepcopy(char  * errmsg  ) ;
 extern int sendmsg(int fd  ,
                   struct msghdr   *22msg  ,
                   int flags  )  &23;
int foo(int fd  ,
        struct iovec   *24array   &27,
        int array_len  )  &25;
 int foo(int fd  ,
        struct iovec   *24array   &27,
        int array_len  ) 
{ struct msghdr  msg  &29;
  struct iovec   * foo___0 ;
  int tmp ;

  {
  msg.msg_name = 0;
  msg.msg_namelen = 0;
  msg.msg_iov  = array;
  msg.msg_iovlen = array_len;
  msg.msg_control = 0;
  msg.msg_controllen = 0;
  msg.msg_flags = 0;
  foo___0 = msg.msg_iov  + 1;
  tmp = sendmsg (fd, & msg, 0);
  return (tmp);
}
}