Newsgroups: fj.questions.unix,fj.lang.c
Path: galaxy.trc.rwcp.or.jp!jaist-news!cs.titech!nirvana.cs.titech!wnoc-tyo-news!nec-tyo!nec-gw!sgiblab!darwin.sura.net!howland.reston.ans.net!agate!headwall.Stanford.EDU!koriel!sh.wide!wnoc-kyo-news!kyu-cs!hakata!ie.u-ryukyu.ac.jp!yas
From: yas@ocean.ie.u-ryukyu.ac.jp (Yasushi Shinjo)
Subject: Re: Byte Order
In-Reply-To: minamino@sra.co.jp's message of 07 Jan 1994 04:12:02 GMT
Message-ID: <YAS.94Jan8221202@bottom.ie.u-ryukyu.ac.jp>
Followup-To: fj.lang.c
Lines: 109
Sender: news@spn.ie.u-ryukyu.ac.jp (News System Admin)
Organization: Dept. of Elect. & Info. Eng., Univ. of the Ryukyus, Okinawa,
	Japan
References: <2gilvv$1rt@hemp.imel.kyoto-u.ac.jp>
Date: Sat, 8 Jan 1994 13:12:01 GMT
Xref: galaxy.trc.rwcp.or.jp fj.questions.unix:3124 fj.lang.c:1406
X-originally-archived-at: http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.questions.unix&nb=3124&hd=a
X-reformat-date: Mon, 18 Oct 2004 15:18:22 +0900
X-reformat-comment: Tabs were expanded into 4 column tabstops by the Galaxy's archiver. See http://katsu.watanabe.name/ancientfj/galaxy-format.html for more info.

$B?7>k!w>pJs!%N05eBg3X$G$9!#$3$s$A$K$O!#(B
$B$3$A$i$K$O!"$b$H5-;v$,$H$I$$$F$$$J$$$N$G$9$,!"(B

In article <2gilvv$1rt@hemp.imel.kyoto-u.ac.jp>
Takeshi Go Tsuru <tsuru@cr.scphys.kyoto-u.ac.jp> writes:
> 
> $B#1$D$N%W%m%0%i%`$GJ#?t$N%"!<%-%F%/%A%c!<$KBP1~$5$;$h$&$H$9$k$H(B
:
> $BNc$($P#H#D$N%G!<%?!<$OI,$:$"$k7h$^$C$?(B Endian $B$G<}$a$i$l$F$$$k(B/$B<}$a$k(B
> $B$3$H$K$7$^$7$g$&!#$3$N%G!<%?$K@5$7$/%"%/%;%9$9$k6&DL$N%=%U%H$r(BEndian$B$N(B
> $B0c$&%"!<%-%F%/%A%c!<$N>e$G:n$m$&$H;W$C$?$i!"$I$s$JJ}K!$,$"$j$^$9!)!)!)(B

XDR $B$r;H$&$N$O$I$&$G$7$g$&$+!#(BXDR $B$O!"(BSun RPC $B$G;H$o$l$F$$$k(B
$B%G!<%?I=8=7A<0$G$9!#(BSun RPC $B$O!"(BNFS $B$r<B8=$9$k$?$a$K;H$o$l$F(B
$B$$$kDL?.$N;EAH$_$G$9!#(BXDR $B$G$O!"$$$m$$$m$J%"!<%-%F%/%A%c$N%^(B
$B%7%s$G!"%G!<%?$r8r4?$9$k$?$a$K0lEYI8=`7A$KD>$7$F$$$^$9!#%P%$(B
$B%H!&%*!<%@$,0c$&%^%7%sF1;N$G(B NFS $B$,$A$c$s$HF0$/$N$O!"(BXDR $B$N(B
$B$*$+$2$G$9!#(BXDR $B$G$O!"%P%$%H!&%*!<%@$@$1$G$J$/!"IbF0>.?tE@$N(B
$B7A<0$d9=B$BN$^$G07$($^$9!#(BXDR $B$O!"(BNFS $B$,F0$$$F$$$k%^%7%s$J$i(B
$B;H$($k$O$:$G$9!#(B

XDR $B$O!"$b$H$b$HDL?.MQ$K:n$i$l$F$$$k$s$G$9$,!"DL?.$G;H$($k$b(B
$B$N$K$O!"5-21$G$b;H$($k$H$$$&DjM}$,$"$j$^$7$F!"%U%!%$%k$KF~=P(B
$BNO$K;H$C$F$b$$$$$s$G$9!#<B:]$K!"(BSun RPC $B$N%I%-%e%a%s%H$K$O!"(B
$B$3$s$JNc$,=P$F$$$^$9!#(B

------------------------------------------------------------
#include <stdio.h>
#include <rpc/rpc.h>    /* xdr is a sub-library of rpc */
main()          /* writer.c */
{
        XDR xdrs;
        long i;
        xdrstdio_create(&xdrs, stdout, XDR_ENCODE);
        for (i = 0; i < 8; i++) {
                if (!xdr_long(&xdrs, &i)) {
                        fprintf(stderr, "failed!\n");
                        exit(1);
                }
        }
}

------------------------------------------------------------

------------------------------------------------------------
#include <stdio.h>
#include <rpc/rpc.h>    /* xdr is a sub-library of rpc */
main()          /* reader.c */
{
        XDR xdrs;
        long i, j;
        xdrstdio_create(&xdrs, stdin, XDR_DECODE);
        for (j = 0; j < 8; j++) {
                if (!xdr_long(&xdrs, &i)) {
                        fprintf(stderr, "failed!\n");
                        exit(1);
                }
                printf("%ld ", i);
        }
        printf("\n");
}
------------------------------------------------------------

$B$3$l$r!"(BSun $B$H(B Vax $B$G%3%s%Q%$%k$7$F!"(Brsh $B$G$D$J$$$G<B9T$7$F(B
$B$$$kMM;R$,=P$F$$$^$9!#(B

------------------------------------------------------------
        sun% writer | rsh vax reader
        0 1 2 3 4 5 6 7
        sun%
------------------------------------------------------------

$B$b$A$m$s!"%Q%$%W$G$D$J$06Z9g$$$O$J$/$F!"(Bfopen() $B$r;H$C$FIaDL(B
$B$K%U%!%$%k$KJ]B8$7$F$b$+$^$$$^$;$s!#(B

$B$3$NNc$G$O!"#18D#18D(B xdr_long() $B$7$F$$$^$9$,!"G[Ns$r$^$H$a$F(B
$B=PNO$9$k$3$H$b$G$-$^$9!#;n$7$F$^$;$s$,!"(Bxdr_array() $B$r;H$C$F!"(B

------------------------------------------------------------
long len ;
long *val ;
long a[100] ;

len = 100 ;
val = a ;
if (!xdr_array(&xdrs, &val, &len, 100, sizeof(long), xdr_long)) 
{
    fprintf(stderr, "failed!\n");
    exit(1);
}
------------------------------------------------------------

$B$3$s$J46$8$G$O$J$$$G$7$g$&$+!#<u$1<j$O!"(Bval=0 $B$H$7$F$"$k$H!"(B
$B<+F0E*$K(B malloc() $B$7$F$/$l$?$H;W$$$^$9!#IbF0>.?tE@$J$i!"(B
xdr_double() $B$r;H$$$^$9!#C1@:EY$J$i!"(Bxdr_float() $B$b$"$j$^$9!#(B

$B>\$7$/$O!"(Bman xdr, man xdrstdio_create, man rpcgen $B$r8+$F$/(B
$B$@$5$$!#%M%C%H%o!<%/!&%W%m%0%i%_%s%0$H$$$&%?%$%H%k$N%^%K%e%"(B
$B%k$,$"$j$^$7$?$i!"$=$3$N(B rpcgen, XDR $B$NItJ,$r8+$k$H$$$$$G$7$g(B
$B$&!#(B

rpcgen $B$r;H$($P!"G[Ns$@$1$G$J$/!"9=B$BN$b%]%$%s%?$b;H$($^$9!#(B
$BLZ9=B$$J$iJ]B8!&DL?.$G$-$^$9!#%k!<%W$d!"6&DLItJ,$,$"$k%0%i%U(B
$B$O!"$@$a$G$9$1$I!#(B

$B$b$7;n$7$F$_$F!"$&$^$/$$$C$?$i65$($F$/$@$5$$!#(B

$B!@!@!!?7>k!!Lw!!!J$7$s$8$g$&!!$d$9$7!K!!!@!@(B
$B!@!@!!N05eBg3X!!>pJs9)3X!!!!!!!!!!!!!!!!!@!@(B
