//doors/client2.c
#include	"unpipc.h"

int
main(int argc, char **argv)
{
	int		fd;
	long	ival, oval;
	door_arg_t	arg;

	if (argc != 3)
		err_quit("usage: client2 <server-pathname> <integer-value>");

	fd = Open(argv[1], O_RDWR);		/*   */

		/*       */
	ival = atol(argv[2]);
	arg.data_ptr = (char *) &ival;	/* - */
	arg.data_size = sizeof(long);	/*   */
	arg.desc_ptr = NULL;
	arg.desc_num = 0;
	arg.rbuf = (char *) &oval;		/*   */
	arg.rsize = sizeof(long);		/*    */

		/*       */
	Door_call(fd, &arg);
	printf("&oval = %p, data_ptr = %p, rbuf = %p, rsize  = %d\n",
		   &oval, arg.data_ptr, arg.rbuf, arg.rsize);
	printf("result: %ld\n", *((long *) arg.data_ptr));

	exit(0);
}
