コード例 #1
0
ファイル: daf_protocol_xdr.c プロジェクト: DaveSinclair/DAF
bool_t
xdr_remote_client_cmd_args (XDR *xdrs, remote_client_cmd_args *objp)
{
	register int32_t *buf;

	 if (!xdr_string (xdrs, &objp->cmdstring, MAX_CMD_LEN))
		 return FALSE;
	 if (!xdr_stringlist (xdrs, &objp->environment_settings))
		 return FALSE;
	 if (!xdr_string (xdrs, &objp->identstring, MAX_IDENT_LEN))
		 return FALSE;
	 if (!xdr_int (xdrs, &objp->run_in_background))
		 return FALSE;
	 if (!xdr_int (xdrs, &objp->run_in_shell))
		 return FALSE;
	 if (!xdr_Iu32 (xdrs, &objp->timeout))
		 return FALSE;
	 if (!xdr_bool (xdrs, &objp->fail_on_timeout))
		 return FALSE;
	 if (!xdr_bool (xdrs, &objp->workqueueID_flag))
		 return FALSE;
	 if (!xdr_Iu32 (xdrs, &objp->workqueueID))
		 return FALSE;
	 if (!xdr_Iu32 (xdrs, &objp->actionresultID))
		 return FALSE;
	 if (!xdr_int (xdrs, &objp->msglevel))
		 return FALSE;
	return TRUE;
}
コード例 #2
0
ファイル: test1.c プロジェクト: mnv104/xdrTests
int
main ()
{
  XDR xdr;
  stringlist strings;
  stringentry *entry;
  FILE *fp;

  fp = fopen ("test1.out", "w");
  xdrstdio_create (&xdr, fp, XDR_ENCODE);

  strings = malloc (sizeof (struct stringentry));
  strings->item = strdup ("hello");
  strings->next = malloc (sizeof (struct stringentry));
  strings->next->item = strdup ("goodbye");
  strings->next->next = NULL;

  if (!xdr_stringlist (&xdr, &strings)) {
    fprintf (stderr, "test1: could not encode\n");
    exit (1);
  }

  xdr_free ((xdrproc_t) xdr_stringlist, (char *) &strings);
  xdr_destroy (&xdr);
  fclose (fp);

  fp = fopen ("test1.out", "r");
  xdrstdio_create (&xdr, fp, XDR_DECODE);

  strings = NULL;
  if (!xdr_stringlist (&xdr, &strings)) {
    fprintf (stderr, "test1: could not decode\n");
    exit (1);
  }

  fclose (fp);

  for (entry = strings; entry; entry = entry->next)
    printf ("entry->item = %s\n", entry->item);

  xdr_free ((xdrproc_t) xdr_stringlist, (char *) &strings);
  xdr_destroy (&xdr);

  exit (0);
}