throbber
/usr/local/etc/cfsd && \
`
`/etc/mount —o port=3049,intr localhost:/null /crypt
`
`fi
`
`7a) on some platforms (especially BSDI), you may get better CFS
`
`performance with a smaller mount blocksize:
`if [ —x /usr/local/etc/cfsd ];
`then
`
`/usr/local/etc/cfsd && \
`
`/etc/mount —o port=3049,intr,rsize=2048,wsize=2048 localhost:/null /crypt
`
`fi
`
`7b) Solaris 2.5 users will need to add "vers=2,proto=udp" to the list of
`
`mount options.
`
`8)
`
`run the commands in step 7 by hand to get it started now.
`
`you may have to
`
`do an "exportfs —a" and/or /etc/rpc.mountd first if you aren't already running
`an NFS server, but this will be done automatically at boot
`time from now on.
`
`9)
`
`if any of this fails, go back and read notes.ms.
`
`Notes:
`
`Some systems (e.g., Solaris, Irix, etc.) don't use /etc/rc as the
`
`startup file or have different options on some of the mount commands.
`
`The basic idea, however,
`
`is the same: configure your system so that
`
`when it boots it first starts mountd (with something exported to
`
`localhost),
`
`then starts cfsd, and finally mounts cfsd at the /crypt
`
`mountpoint.
`
`See README.irix for step—by—step Irix instructions (which
`
`may help with other SysV systems,
`
`too).
`
`If you already have cfs,
`
`this version may not be compatable with the
`
`encryption format used by your old copy.
`
`If you have encrypted directories
`
`created under previous versions of cfs that you want to save,
`
`tar them
`
`out to a plaintext file under your existing cfsd prior to installing
`
`the new version.
`
`See the README.history file for details.
`
`To install a new version, first cdetach any directories in the cfs mount
`
`Then (as root) do a make install_cfs, and restart cfsd.
`point (/crypt/*).
`You need not unmount and remount /crypt, although you may see a few stale
`
`file handle errors in any processes with open references to /crypt.
`
`For information on ESM, see README.esm.
`
`Problems -> cfs@research.att.com. But READ THE MANUAL first.
`
`EXNbflD
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 266
`
`

`
`README.irix
`
`Exhibit D
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 267
`
`

`
`From:
`To:
`
`Date:
`
`"Richard Moxley" <mox@grunt.autometric.com>
`Matt Blaze <mab@research.att.com>
`
`Thu, 26 Oct 1995 13:33:15 -0400
`
`Irix 5.3 readme for CFS
`Subject:
`Posted-Date: Thu, 26 Oct 1995 13:33:15 -0400
`
`--PART-BOUNDARY=.19510261333.ZM1297.autometric.com
`
`Content—Type:
`
`text/plain; charset=us—ascii
`
`Matt:
`
`Thanks for 1.3.0... it built on Irix without a problem using
`
`the Irix 4.0 settings.
`
`Attached is a README.irix that explains the modifications
`that need to be made to the Makefile to build on Irix 5.3.
`
`Also attached is cfs.rc.irix, which does the work that gets
`
`done in rc.local on a Sun. This file gets installed to
`/etc/init.d and is linked from /etc/rc2.d and /etc/rc0.d.
`
`All of this happens in the new install_cfs actions that I
`describe in README.irix.
`So, if you add README.irix to your
`
`distribution, you should add cfs.rc.irix also.
`
`Cheers,
`R
`
`+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --+
`
`| Richard Moxley
`
`Frustra fit per plura quod |
`
`|
`potest fieri per pauciora.
`rmoxley@autometric.com
`|
`+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --+
`
`——PART—BOUNDARY=.19510261333.ZM1297.autometric.com
`
`X—Zm—Content—Name: README.irix
`
`Content-Description: Text
`
`Content—Type:
`
`text/plain ; name="README.irix"
`
`; charset=us—ascii
`
`CFS 1.3.0 under Irix 5.3
`
`Compiling:
`
`1. Edit the Makefile to use the makeflags for Irix 4.0
`
`CFLAGS=-cckr $(COPT)
`
`-Dirix
`
`LIBS:-lrpcsvc -lsun -I$(RINCLUDES)
`COMPAT=
`
`-DPROTOTYPES=O
`
`Also, change the install_cfs actions to the following:
`
`install —m 0755 —u root —f $(ETCDIR) cfsd
`
`install —m 0755 —u root —f $(BINDIR) cattach cdetach \
`
`cmkdir cpasswd ssh cname ccat i o
`
`install —m 0755 —u root -f /etc/init.d cfs.rc.irix
`ln —s /etc/init.d/cfs.rc.irix /etc/rc2.d/S35cfs
`EXMDHD
`
`PetitionerOraC|e_App|e_Exhibit1010_Page268
`
`

`
`ln —s /etc/init.d/cfs.rc.irix /etc/rcO.d/K35cfs
`
`3.
`
`Type "make cfs"
`
`Installing:
`
`1.
`
`Become root and type "make insta11_cfs".
`
`2. Create the cfs bootstrap mount point:
`
`mkdir /null
`
`chmod 0 /null
`
`3. Add this line to /etc/exports:
`
`/null localhost
`
`4. Create the mount point
`
`mkdir /crypt
`
`(or whatever you want to call it)
`
`5. Reboot
`
`Richard Moxley
`
`rmox1ey@autometric.com
`
`——PART-BOUNDARY=.19510261333.ZMl297.autometriC.Com
`
`X—Zm—Content—Name: cfs.rc.irix
`
`Content-Description: Text
`
`Content—Type:
`
`text/plain ; name="cfs.rc.irix" ; charset=us—ascii
`
`#1/sbin/sh
`
`# CFS boot script for Irix 5.3
`
`# Richard Moxley
`
`rmox1ey@autometric.com
`
`MOUNT:/sbin/mount
`
`CFSD=/usr/local/etc/cfsd
`
`CFS_NULLDIR=/ null
`
`CFS_MOUNTPT=/ crypt
`
`case "$1" in
`'start')
`
`if test -x $CFSD;
`
`then
`
`echo "Starting CFS...
`
`\c"
`
`if test
`
`!
`
`-d $CFS_NULLDIR;
`
`then
`
`mkdir $CFS_NULLDIR
`
`fi
`
`cd $CFS_NULLDIR
`chown root
`
`chgrp sys
`chmod 0
`
`if test
`EXNDHD
`
`!
`
`-d $CFS_MOUNTPT;
`
`then
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 269
`
`

`
`mkdir $CFS_MOUNTPT
`
`fi
`
`cd $CFS_MOUNTPT
`chown root
`
`chown sys
`chmod 755
`
`$CFSD
`
`sleep 1
`
`$MOUNT —o port=3049,intr 1oca1host:$CFS_NULLDIR $CFS_MOUNTPT
`
`echo "CFS not found."
`
`else
`
`fi
`
`'stop')
`
`/sbin/killall cfsd
`if
`
`*)
`
`esac
`
`echo "usage: $0 {start|stop}"
`
`——PART-BOUNDARY=.19510261333.ZMl297.autometric.com--
`
`EXNbflD
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 270
`
`

`
`README.linuX
`
`Exhibit D
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 271
`
`

`
`There are two versions of RPCGEN on various linuxes. Read the makefile
`
`carefully to make sure you compile for the right one (if you get it
`
`wrong, do a "make clean" before switching to the other).
`
`—matt
`
`(3/96)
`
`Here's some background:
`
`From owner—cfs—users Wed Mar
`
`8 18:22:15 1995
`
`Received: by merckx.info.att.com (4.1/4.7)
`id AA15369; Wed,
`8 Mar 95 18:22:15 EST
`Posted-Date: Wed, 08 Mar 1995 15:17:01 -0800
`
`Message-Id: <199503082317.PAAO2390@gwarn.versant.com>
`
`To: root <root@esprit.topaz.com>
`
`From: strick@techwood.org
`
`Reply—To: strick@techwood.org
`Cc: cfs—users@research.att.com
`
`Subject: Re:
`
`linux problems
`
`In—Reply—To: Your message of "Wed, 08 Mar 1995 02:51:09 EST."
`
`<199503080751.CAA23174@esprit.topaz.com>
`Date: Wed, 08 Mar 1995 15:17:01 -0800
`
`THUS SPAKE owner—cfs—users@research.att.com:
`
`#
`
`I'm still having problems getting CFS to compile under the newest
`
`# version of slackware.
`
`I was told that it worked on previous versions of
`
`is delete the _svc suffices
`What I had to do in slackware 2.1.0 (Linux 1.1.59)
`on the global names in the .c files that are generated from the .x files.
`
`(I'm not enough of a SUNRPC GOD to know why.)
`
`Then it would link okay.
`
`(Was linking your problem?)
`
`Oh, and you need —Dd_fileno=d_ino
`
`... see below
`
`strick
`
`p.s.
`
`ESM is fantastic,
`
`too.
`
`make CC="cc —traditional —Dd_fileno=d_ino
`
`\
`
`—Dnfsproc_null_2_svc=nfsproc_null_2
`
`\
`
`—Dnfsproc_getattr_2_svc=nfsproc_getattr_2
`
`—Dnfsproc_setattr_2_svc=nfsproc_setattr_2
`
`-Dnfsproc_root_2_svc=nfsproc_root_2
`
`\
`
`—Dnfsproc_lookup_2_svc=nfsproc_lookup_2 \
`
`-Dnfsproc_readlink_2_svc=nfsproc_readlink_2
`
`—Dnfsproc_read_2_svc=nfsproc_read_2
`
`\
`
`\
`
`\
`
`\
`
`-Dnfsproc_writecache_2_svc=nfsproc_writecache_2 \
`
`-Dnfsproc_write_2_svc=nfsproc_write_2
`
`\
`
`—Dnfsproc_create_2_svc=nfsproc_create_2 \
`
`—Dnfsproc_remove_2_svc=nfsproc_remove_2 \
`
`—Dnfsproc_rename_2_svc=nfsproc_rename_2 \
`
`\
`'D“fSPr°C—1i“k—2—S"C=“fSPr°C—1i“k—2
`-Dnfsproc_symlink_2_svc=nfsproc_symlink_2
`EXNbflD
`
`\
`
`Petitioner Oracle-Apple — Exhibit 1010 — Page 272
`
`

`
`-Dnfsproc_mkdir_2_sVc=nfsproc_mkdir_2
`
`-Dnfsproc_rmdir_2_sVc=nfsproc_rmdir_2
`
`\
`
`\
`
`—Dnfsproc_readdir_2_svc=nfsproc_readdir_2
`
`—Dnfsproc_statfs_2_svc=nfsproc_statfs_2 \
`
`—Dadmproc_null_1_svc=admproc_null_1
`
`\
`
`—Dadmproc_attach_1_svc=admproc_attach_1 \
`
`—Dadmproc_detach_1_svc=admproc_detach_1 \
`
`—Dadmproc_ls_1_svc=admproc_ls_1 \
`
`From:
`To:
`
`Date:
`
`Monty Walls <mwalls@castor.oktax.state.ok.us>
`Matt Blaze <mab@research.att.com>
`
`Fri, 16 Feb 1996 14:34:50 -0600 (CST)
`
`Subject: Re: Linux Compatibility & rpcgen
`
`In-Reply-To: <199602151603.LAA14987@nsa.tempo.att.com>
`
`References: <199602151603.LAA14987@nsa.tempo.att.com>
`
`Here are the cflags I used for Slackware 2.3:
`
`RPCGEN=rpcgen -k -b
`
`CFLAGS=$(COPT) —U__OPTIMIZE__ -traditional —Dd_fileno=d_inO —I$(RINCLUDES)
`
`why:
`
`for some
`—U__OPTIMIZE__ — turns off inline code (turned on by —O)
`functions which will give syntax errors when using -traditional
`(GCC
`
`again).
`
`-traditional
`
`— required because rpcgen.new generates prototypes even in
`
`k&r mode (tests for __STDC__, which is true with GCC).
`
`I done some preliminary testing and it appears to work ok.
`
`Rpcinfo does
`
`complain about how cfs is registered:
`
`castor# /usr/sbin/rpcinfo —p
`program Vers proto
`port
`
`100000
`
`100000
`
`100005
`
`100005
`
`2
`
`2
`
`1
`
`1
`
`tcp
`
`udp
`
`udp
`
`tcp
`
`111 portmapper
`
`111 portmapper
`
`849 mountd
`
`851 mountd
`
`clnttcp_create: RPC: Program not registered
`
`clnttcp_create: RPC: Program not registered
`1092830567
`2
`udp
`3049
`
`—Monty Walls (mwalls@castor.oktax.state.ok.us)
`
`—
`
`MIS(Technical Supt), Oklahoma Tax Commission
`
`- My opinions are my own, my employer knows nothing about it.
`
`EXNbflD
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 273
`
`

`
`README
`
`Exhibit D
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 274
`
`

`
`This is version 1.3.3 of CFS,
`
`the Cryptographic File System, which
`
`also includes version 1.0 of ESM,
`
`the Encrypting Session Manager.
`
`To unpack this distribution, create a directory for the cfs sources, cd
`
`there and copy every thing after the "cut here" line to a file called
`
`Then type
`"cfs.shar".
`/bin/sh cfs.shar
`
`at your shell prompt.
`
`For installation instructions, see the files "README.install",
`"notes.ms" and "README.esm".
`
`There is a mailing list, cfs—users, for discussion of topics of interest to
`
`CFS users and developers.
`
`It is a fairly quiet list, and it's where bug
`
`fixes and new ports are announced, so I encourage you to join.
`
`To subscribe:
`
`echo subscribe cfs—users | mail cfs—users—request@research.att.com
`You will automatically receive a "welcome" message confirming that you
`have been added to the list.
`
`User—contributed ports to other platforms are available in the list archive.
`
`echo help | mail cfs—users—request@research.att.com
`
`and
`
`echo get cfs—users README.archive | mail cfs—users-request@research.att.com
`for details.
`
`-matt
`
`THIS SOFTWARE IS SUBJECT TO EXPORT CONTROLS.
`
`See the README.install file
`
`for distribution restrictions.
`
`ExmbflD
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 275
`
`

`
`1pcgenout.shar
`
`Exhibit D
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 276
`
`

`
`This is a shell archive.
`
`Save it in a file,
`
`remove anything before
`
`this line, and then unpack it by entering "sh file". Note, it may
`
`create directories; files and directories will be owned by you and
`
`have default permissions.
`
`This archive contains:
`
`nfsproto.h
`
`nfsproto_svr.c
`
`nfsproto_xdr.c
`
`admproto_clnt.c
`
`admproto_svr.c
`
`admproto_xdr.c
`admproto.h
`
`=+“l==fi==fi==+”t=+“l==tl==+“t=+”t=tt=+”t=+”t=8=l==+*t=+*t=tt
`
`echo x — nfsproto.h
`
`sed 's/‘X//' >nfsproto.h << 'END—of—nfsproto.h'
`X/*
`X * Please do not edit this file.
`
`X * It was generated using rpcgen.
`X */
`
`X X
`
`X X
`
`#include <rpc/types.h>
`
`#define NFS_PORT 2049
`
`X#define NFS_MAXDATA 8192
`
`X#define NFS_MAXPATHLEN 1024
`
`X#define NFS_MAXNAMLEN 255
`
`X#define NFS_FHSIZE 32
`
`X#define NFS_COOKIESIZE 4
`
`X#define NFS_FIFO_DEV -1
`
`X#define NFSMODE_FMT 0170000
`
`X#define NFSMODE_DIR 0040000
`
`X#define NFSMODE_CHR 0020000
`
`X#define NFSMODE_BLK 0060000
`
`X#define NFSMODE_REG 0100000
`
`X#define NFSMODE_LNK 0120000
`
`X#define NFSMODE_SOCK 0140000
`
`X#define NFSMODE_FIFO 0010000
`
`X X
`
`X
`
`X
`
`X
`
`X
`
`X
`
`X
`
`X
`
`X
`
`X
`
`X
`
`X
`
`X
`
`X
`X
`
`enum nfsstat {
`NFS_OK = 0,
`
`NFSERR_PERM = 1,
`
`NFSERR_NOENT = 2,
`
`NFSERR_IO = 5,
`
`NFSERR_NXIO = 6,
`
`NFSERR_ACCES = 13,
`
`NFSERR_EXIST = 17,
`
`NFSERR_NODEV = 19,
`
`NFSERR_NOTDIR = 20,
`
`NFSERR_ISDIR = 21,
`
`NFSERR_FBIG = 27,
`
`NFSERR_NOSPC = 28,
`
`NFsERR—R°FS = 3°’
`NFSERR_NAMETOOLONG = 63,
`EXNbflD
`
`Petitioner Oracle-Apple — Exhibit 1010 — Page 277
`
`

`
`><1><1.'><1
`
`X
`
`NFSERR_NOTEMPTY = 66 ,
`
`NFSERR_DQUOT = 69,
`
`NFSERR_STALE = 70 ,
`
`NFSERR_WFLUSH = 99 ,
`
`X} ;
`Xtypedef enum nfsstat nfsstat;
`
`Xboo1_t xdr_nfsstat();
`
`X X
`
`X
`
`X
`
`X
`
`X
`
`X
`
`X
`
`X
`
`X
`
`X
`
`enum ftype {
`NFNON = 0 ,
`
`NFREG = l ,
`
`NFDIR = 2 ,
`
`NFBLK = 3 ,
`
`NFCHR = 4 ,
`
`NFLNK = 5 ,
`
`NFSOCK = 6 ,
`
`NFBAD = 7 ,
`
`NFFI FO = 8 ,
`
`X} ;
`Xtypedef enum ftype ftype;
`
`Xboo1_t xdr_ftype();
`
`X X
`
`X
`
`struct nfs_fh {
`char data[NFS_FHSIZE];
`
`X};
`Xtypedef struct nfs_fh nfs_fh;
`
`Xboo1_t xdr_nfs_fh();
`
`X X
`
`X
`
`X
`
`struct nfstime {
`u_int seconds;
`
`u_int useconds;
`
`X};
`Xtypedef struct nfstime nfstime;
`
`Xboo1_t xdr_nfstime();
`
`X X
`
`><1.'><1><1><1><1><1><1><1><1><1><1><1><1
`
`X
`
`struct fattr {
`ftype type;
`
`u_int mode;
`
`u_int nlink;
`
`u_int uid;
`
`u_int gid;
`
`u_int size;
`
`u_int blocksize;
`
`u_int rdev;
`
`u_int blocks;
`
`u_int fsid;
`
`u_int fileid;
`nfstime atime;
`
`nfstime mtime;
`
`nfstime ctime;
`
`X};
`Xtypedef struct fattr fattr;
`
`Xboo1_t xdr_fattr();
`
`X X
`
`X
`
`struct sattr {
`u_int mode;
`EXMDHD
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 278
`
`

`
`><1><1><1.'><1
`
`X
`
`u_int uid;
`
`u_int gid;
`
`u_int size;
`nfstime atime;
`
`nfstime mtime;
`
`X};
`Xtypedef struct sattr sattr;
`
`Xboo1_t xdr_sattr();
`
`X X
`
`typedef char *fi1ename;
`
`Xboo1_t xdr_fi1ename();
`
`X X
`
`typedef char *nfspath;
`
`Xboo1_t xdr_nfspath();
`
`X X
`
`X
`
`X
`X
`
`X
`
`struct attrstat {
`nfsstat status;
`
`union {
`fattr attributes;
`
`} attrstat_u;
`
`X};
`Xtypedef struct attrstat attrstat;
`
`Xboo1_t xdr_attrstat();
`
`X X
`
`X
`X
`
`struct sattrargs {
`nfs_fh file;
`sattr attributes;
`
`X};
`Xtypedef struct sattrargs sattrargs;
`
`Xboo1_t xdr_sattrargs();
`
`X X
`
`X
`X
`
`struct diropargs {
`nfs_fh dir;
`filename name;
`
`X};
`Xtypedef struct diropargs diropargs;
`
`Xboo1_t xdr_diropargs();
`
`X X
`
`X
`X
`
`struct diropokres {
`nfs_fh file;
`fattr attributes;
`
`X};
`Xtypedef struct diropokres diropokres;
`
`Xboo1_t xdr_diropokres();
`
`X X
`
`X
`
`X
`X
`
`X
`
`struct diropres {
`nfsstat status;
`
`union {
`diropokres diropres;
`
`} diropres_u;
`
`X};
`Xtypedef struct diropres diropres;
`
`Xboo1_t xdr_diropres();
`
`X X
`
`X
`
`struct readlinkres {
`nfsstat status;
`EXMDHD
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 279
`
`

`
`X
`X
`
`X
`
`union {
`nfspath data;
`
`} read1inkres_u;
`
`X};
`Xtypedef struct readlinkres readlinkres;
`
`Xboo1_t xdr_readlinkres();
`
`X X
`
`X
`
`X
`
`X
`
`X
`
`struct readargs {
`nfs_fh file;
`
`u_int offset;
`
`u_int count;
`
`u_int totalcount;
`
`X};
`Xtypedef struct readargs readargs;
`
`Xboo1_t xdr_readargs();
`
`X X
`
`X
`
`X
`X
`X
`
`X
`
`struct readokres {
`fattr attributes;
`
`struct {
`u_int data_1en;
`char *data_va1;
`
`} data;
`
`X};
`Xtypedef struct readokres readokres;
`
`Xboo1_t xdr_readokres();
`
`X X
`
`X
`
`X
`X
`
`X
`
`struct readres {
`nfsstat status;
`
`union {
`readokres reply;
`
`} readres_u;
`
`X};
`Xtypedef struct readres readres;
`
`Xboo1_t xdr_readres();
`
`X X
`
`struct writeargs {
`nfs_fh file;
`
`><1><1><1><1><1><1><1
`
`X
`
`u_int beginoffset;
`
`u_int offset;
`
`u_int totalcount;
`
`struct {
`u_int data_1en;
`
`char *data_va1;
`
`} data;
`
`X};
`Xtypedef struct writeargs writeargs;
`
`Xboo1_t xdr_writeargs();
`
`X X
`
`X
`X
`
`struct createargs {
`diropargs where;
`sattr attributes;
`
`X};
`Xtypedef struct createargs createargs;
`
`Xboo1_t xdr_createargs();
`
`X X
`
`struct renameargs {
`EXMDHD
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 280
`
`

`
`X
`
`X
`
`diropargs from;
`
`diropargs to;
`
`X};
`Xtypedef struct renameargs renameargs;
`
`Xboo1_t xdr_renameargs();
`
`X X
`
`X
`X
`
`struct linkargs {
`nfs_fh from;
`diropargs to;
`
`X};
`Xtypedef struct linkargs linkargs;
`
`Xboo1_t xdr_1inkargs();
`
`X X
`
`X
`
`X
`X
`
`struct symlinkargs {
`diropargs from;
`
`nfspath to;
`sattr attributes;
`
`X};
`Xtypedef struct symlinkargs symlinkargs;
`
`Xboo1_t xdr_sym1inkargs();
`
`X X
`
`typedef char nfscookie[NFS_COOKIESIZE];
`
`Xboo1_t xdr_nfscookie();
`
`X X
`
`X
`X
`
`X
`
`struct readdirargs {
`nfs_fh dir;
`nfscookie cookie;
`
`u_int count;
`
`X};
`Xtypedef struct readdirargs readdirargs;
`
`Xboo1_t xdr_readdirargs();
`
`X X
`
`X
`X
`
`X
`
`X
`
`struct entry {
`u_int fileid;
`filename name;
`
`nfscookie cookie;
`
`struct entry *nextentry;
`
`X};
`Xtypedef struct entry entry;
`
`Xboo1_t xdr_entry();
`
`X X
`
`X
`
`X
`
`struct dirlist {
`entry *entries;
`
`boo1_t eof;
`
`X};
`Xtypedef struct dirlist dirlist;
`
`Xboo1_t xdr_dir1ist();
`
`X X
`
`X
`
`X
`X
`
`X
`
`struct readdirres {
`nfsstat status;
`
`union {
`dirlist reply;
`
`} readdirres_u;
`
`X} ;
`
`XtYPedef Struct readdirres readd-fires"
`Xboo1_t xdr_readdirres();
`EXMDHD
`
`Petitioner Oracle-Apple-Exhibit1010-Page 281
`
`

`
`X X
`
`X
`
`X
`
`X
`
`X
`
`X
`
`struct statfsokres {
`u_int tsize;
`
`u_int bsize;
`
`u_int blocks;
`
`u_int bfree;
`
`u_int bavail;
`
`X} ;
`Xtypedef struct statfsokres statfsokres;
`
`Xboo1_t xdr_statfsokres();
`
`X X
`
`X
`
`X
`X
`
`X
`
`struct statfsres {
`nfsstat status;
`
`union {
`statfsokres reply;
`
`} statfsres_u;
`
`X} ;
`Xtypedef struct statfsres statfsres;
`
`Xboo1_t xdr_statfsres();
`
`X X
`
`#define NFS_PROGRAM ((u_1ong)lOOOO3)
`
`X#define NFS_VERSION ((u_long)2)
`
`X#define NFSPROC_NULL ( (u_1ong) 0)
`
`Xextern Void *nfsproc_nu11_2();
`
`X#define NFSPROC_GETATTR ((u_long)l)
`
`Xextern attrstat *nfsproc_getattr_2();
`
`X#define NFSPROC_SETATTR ((u_long)2)
`
`Xextern attrstat *nfsproc_setattr_2();
`
`X#define NFSPROC_ROOT ((u_1ong)3)
`
`Xextern void *nfsproc_root_2();
`
`X#define NFSPROC_LOOKUP ((u_1ong)4)
`
`Xextern diropres *nfsproc_1ookup_2();
`
`X#define NFSPROC_READLINK ((u_lOng)5)
`
`Xextern readlinkres *nfsproc_read1ink_2();
`
`X#define NFSPROC_READ ((u_1ong)6)
`
`Xextern readres *nfsproc_read_2();
`
`X#define NFSPROC_WRITECACHE ((u_long)7)
`
`Xextern void *nfsproc_writecache_2();
`
`X#define NFSPROC_WRITE ((u_long)8)
`
`Xextern attrstat *nfsproc_write_2();
`
`X#define NFSPROC_CREATE ((u_lOng)9)
`
`Xextern diropres *nfsproc_create_2();
`
`X#define NFSPROC_REMOVE ((u_long)lO)
`
`Xextern nfsstat *nfsproc_remove_2();
`
`X#define NFSPROC_RENAME ((u_1ong)l1)
`
`Xextern nfsstat *nfsproc_rename_2();
`
`X#define NFSPROC_LINK ((u_long)l2)
`
`Xextern nfsstat *nfsproc_1ink_2();
`
`X#define NFSPROC_SYMLINK ((u_long)l3)
`
`Xextern nfsstat *nfsproc_sym1ink_2();
`
`X#define NFSPROC_MKDIR ((u_long)l4)
`
`Xextern diropres *nfsproc_mkdir_2();
`
`X#define NFSPROC_RMDIR ((u_1ong)l5)
`
`Xextern nfsstat *nfsproc_rmdir_2();
`
`X#define NFSPROC_READDIR ((u_1ong)l6)
`
`Xextern readdirres *nfsproc_readdir_2();
`EXMDHD
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 282
`
`

`
`Petitioner Oracle-Apple — Exhibit 1010 — Page 283
`
`X#define NFSPROC_STATFS ((u_long)l7)
`
`Xextern statfsres *nfsproc_statfs_2();
`END—of—nfsproto.h
`
`echo x — nfsproto_svr.c
`
`sed 's/‘X//' >nfsproto_svr.c << 'END—of—nfsproto_svr.c'
`X/*
`X * Please do not edit this file.
`
`X * It was generated using rpcgen.
`X */
`
`X X
`
`#include <stdio.h>
`
`X#include <rpc/rpc.h>
`X#include "nfsproto.h"
`
`X X
`
`void
`
`transp)
`Xnfs_program_2(rqstp,
`X
`struct svc_req *rqstp;
`N
`register SVCXPRT *transp;
`
`I-"-\
`
`NN><NNN><NNN><NNN><NNN><NNN><NNN><NNN><NNN><NNN
`
`union {
`nfs_fh nfsproc_getattr_2_arg;
`
`sattrargs nfsproc_setattr_2_arg;
`
`diropargs nfsproc_lookup_2_arg;
`
`nfs_fh nfsproc_readlink_2_arg;
`readargs nfsproc_read_2_arg;
`
`writeargs nfsproc_write_2_arg;
`
`createargs nfsproc_create_2_arg;
`
`diropargs nfsproc_remove_2_arg;
`renameargs nfsproc_rename_2_arg;
`
`linkargs nfsproc_link_2_arg;
`
`symlinkargs nfsproc_symlink_2_arg;
`
`createargs nfsproc_mkdir_2_arg;
`
`diropargs nfsproc_rmdir_2_arg;
`
`readdirargs nfsproc_readdir_2_arg;
`
`nfs_fh nfsproc_statfs_2_arg;
`
`} argument;
`char *result;
`
`(*xdr_argument)(),
`bool_t
`char *(*local)();
`
`(*xdr_result)();
`
`switch (rqstp—>rq_proc)
`case NFSPROC_NULL:
`
`{
`
`xdr_argument = xdr_Void;
`
`xdr_result = xdr_void;
`
`local =
`break;
`
`(char *(*)()) nfsproc_null_2;
`
`case NFSPROC_GETATTR:
`
`xdr_argument = xdr_nfs_fh;
`
`xdr_result = xdr_attrstat;
`
`local =
`break;
`
`(char *(*)()) nfsproc_getattr_2;
`
`case NFSPROC_SETATTR:
`
`Xdr—ar9”“‘e“t = Xdr—Sattrar9S"
`xdr_result = xdr_attrstat;
`EXNbflD
`
`

`
`local =
`break;
`
`(char *(*)()) nfsproc_setattr_2;
`
`case NFSPROC_ROOT:
`
`xdr_argument = xdr_Void;
`
`xdr_result = xdr_void;
`
`local =
`break;
`
`(char *(*)()) nfsproc_root_2;
`
`Case NFSPROC_LOOKUP:
`
`xdr_argument = xdr_diropargs;
`
`xdr_result = xdr_diropres;
`
`local =
`break;
`
`(char *(*)()) nfsproc_lookup_2;
`
`case NFSPROC_READLINK:
`
`xdr_argument = xdr_nfs_fh;
`
`xdr_result = xdr_readlinkres;
`
`local =
`break;
`
`(char *(*)()) nfsproc_readlink_2;
`
`case NFSPROC_READ:
`
`xdr_argument = xdr_readargs;
`
`xdr_result = xdr_readres;
`
`local =
`break;
`
`(char *(*)()) nfsproc_read_2;
`
`case NFSPROC_WRITECACHE:
`
`xdr_argument = xdr_Void;
`
`xdr_result = xdr_void;
`
`local =
`break;
`
`(char *(*)()) nfsproc_writecache_2;
`
`case NFSPROC_WRITE:
`
`xdr_argument = xdr_writeargs;
`
`xdr_result = xdr_attrstat;
`
`local =
`break;
`
`(char *(*)()) nfsproc_write_2;
`
`case NFSPROC_CREATE:
`
`xdr_argument = xdr_createargs;
`
`xdr_result = xdr_diropres;
`
`local =
`break;
`
`(char *(*)()) nfsproc_create_2;
`
`case NFSPROC_REMOVE:
`
`xdr_argument = xdr_diropargs;
`
`xdr_result = xdr_nfsstat;
`
`local =
`break;
`
`(char *(*)()) nfsproc_remove_2;
`
`case NFSPROC_RENAME:
`
`xdr_argument = xdr_renameargs;
`
`xdr_result = xdr_nfsstat;
`
`NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
`
`(char *(*)()) nfsproc_rename_2;
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 284
`
`local =
`break;
`EXMDHD
`
`

`
`case NFSPROC_LINK:
`
`xdr_argument = xdr_linkargs;
`
`xdr_result = xdr_nfsstat;
`
`local =
`break;
`
`(char *(*)()) nfsproc_link_2;
`
`case NFSPROC_SYMLINK:
`
`xdr_argument = xdr_symlinkargs;
`
`xdr_result = xdr_nfsstat;
`
`local =
`break;
`
`(char *(*)()) nfsproc_symlink_2;
`
`case NFSPROC_MKDIR:
`
`xdr_argument = xdr_createargs;
`
`xdr_result = xdr_diropres;
`
`local =
`break;
`
`(char *(*)()) nfsproc_mkdir_2;
`
`case NFSPROC_RMDIR:
`
`xdr_argument = xdr_diropargs;
`
`xdr_result = xdr_nfsstat;
`
`local =
`break;
`
`(char *(*)()) nfsproc_rmdir_2;
`
`case NFSPROC_READDIR:
`
`xdr_argument = xdr_readdirargs;
`
`xdr_result = xdr_readdirres;
`
`local =
`break;
`
`(char *(*)()) nfsproc_readdir_2;
`
`case NFSPROC_STATFS:
`
`xdr_argument = xdr_nfs_fh;
`
`xdr_result = xdr_statfsres;
`
`(char *(*)()) nfsproc_statfs_2;
`
`local =
`break;
`
`default:
`
`svcerr_noproc(transp);
`return;
`
`} b
`
`zero((char *)&argument, sizeof(argument));
`
`if (!svc_getargs(transp, xdr_argument, &argument))
`svcerr_decode(transp);
`return;
`
`{
`
`} r
`
`esult =
`
`(*local)(&argument, rqstp);
`
`!= NULL && !svc_sendreply(transp, xdr_result, result))
`if (result
`svcerr_systemerr(transp);
`
`{
`
`} i
`
`f (!svc_freeargs(transp, xdr_argument, &argument))
`fprintf(stderr, "unable to free arguments");
`exit(1);
`
`{
`
`Petitioner Oracle-Apple — Exhibit 1010 — Page 285
`
`} r
`
`eturn’
`
`EXNbflD
`
`NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
`
`

`
`END—of—nfsproto_svr.c
`
`echo x — nfsproto_xdr.c
`
`sed 's/‘X//' >nfsproto_xdr.c << 'END—of—nfsproto_xdr.c'
`X/*
`X * Please do not edit this file.
`
`X * It was generated using rpcgen.
`X */
`
`X X
`
`#inc1ude <rpc/rpc.h>
`
`X#inc1ude "nfsproto.h"
`
`X X
`
`boo1_t
`
`Xxdr_nfsstat(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`X{
`
`X
`X
`
`X
`X
`
`nfsstat *objp;
`
`if (!xdr_enum(xdrs,
`return (FALSE);
`
`(enum_t *)objp))
`
`{
`
`}
`return (TRUE);
`
`X}
`
`X X
`
`boo1_t
`
`Xxdr_ftype(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`X{
`
`X
`X
`
`X
`X
`
`fq@e*dflp;
`
`if (!xdr_enum(xdrs,
`return (FALSE);
`
`(enum_t *)objp))
`
`{
`
`}
`return (TRUE);
`
`X}
`
`X X
`
`boo1_t
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 286
`
`Xxdr_nfs_fh(xdrs, objp)
`X
`XDR *xdrs;
`
`nfs_fh *objp;
`
`if (!xdr_opaque(xdrs, objp—>data, NFS_FHSIZE))
`return (FALSE);
`
`{
`
`} r
`
`eturn (TRUE);
`
`X
`
`X{
`
`X
`
`><1><1><1><1><1
`
`Xboo1_t
`
`Xxdr_nfstime(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`X{
`
`X
`X
`
`X
`
`X
`X
`
`X
`X
`
`nfstime *objp;
`
`if (!xdr_u_int(xdrs, &objp—>seconds))
`return (FALSE);
`
`{
`
`}
`
`if (!xdr_u_int(xdrs, &objp—>useconds))
`return (FALSE);
`
`{
`
`}
`return (TRUE);
`EXNbflD
`
`

`
`X
`
`X X
`
`}
`
`boo1_t
`
`Xxdr_fattr(xdrs, objp)
`X
`XDR *xdrs;
`
`fattr *objp;
`
`if (!xdr_ftype(xdrs,
`return (FALSE);
`
`}
`if (!xdr_u_int(xdrs,
`return (FALSE);
`
`}
`if (!xdr_u_int(xdrs,
`return (FALSE);
`
`}
`if (!xdr_u_int(xdrs,
`return (FALSE);
`
`}
`if (!xdr_u_int(xdrs,
`return (FALSE);
`
`}
`if (!xdr_u_int(xdrs,
`return (FALSE);
`
`}
`if (!xdr_u_int(xdrs,
`return (FALSE);
`
`}
`if (!xdr_u_int(xdrs,
`return (FALSE);
`
`}
`if (!xdr_u_int(xdrs,
`return (FALSE);
`
`}
`if (!xdr_u_int(xdrs,
`return (FALSE);
`
`}
`if (!xdr_u_int(xdrs,
`return (FALSE);
`
`X
`
`X{
`X
`X
`
`X
`X
`X
`
`X
`X
`X
`
`X
`X
`X
`
`X
`X
`X
`
`X
`X
`X
`
`X
`X
`X
`
`X
`X
`X
`
`X
`X
`X
`
`X
`X
`X
`
`X
`X
`X
`
`X
`X
`X
`
`X
`X
`X
`
`X
`X
`X
`
`X
`X
`
`&objp—>type))
`
`&objp->mode))
`
`{
`
`{
`
`&objp->n1ink))
`
`{
`
`&objp—>uid))
`
`&objp—>gid))
`
`{
`
`{
`
`&objp->size))
`
`{
`
`&objp—>b1ocksize))
`
`{
`
`&objp—>rdev))
`
`{
`
`&objp—>b1ocks))
`
`&objp—>fsid))
`
`{
`
`&objp—>fi1eid))
`
`{
`
`{
`
`)
`
`)
`
`)
`
`}
`if (!xdr_nfstime(xdrs,
`return (FALSE);
`
`}
`if (!xdr_nfstime(xdrs,
`return (FALSE);
`
`}
`if (!xdr_nfstime(xdrs,
`return (FALSE);
`
`}
`return (TRUE);
`
`&objp->atime)
`
`&objp—>mtime)
`
`&objp->ctime)
`
`X}
`
`X X
`
`boo1_t
`
`Xxdr_sattr(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`sattr *objp;
`EXNbflD
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 287
`
`

`
`1-"-\
`
`if (!xdr_u_int(xdrs, &objp—>mode))
`return (FALSE);
`
`{
`
`if (!xdr_u_int(xdrs, &objp—>uid))
`return (FALSE);
`
`1f
`
`(!xdr_u_int(xdrs, &objp->gid))
`return (FALSE);
`
`{
`
`{
`
`1f
`
`(!xdr_u_int(xdrs, &objp->size))
`return (FALSE);
`
`{
`
`1f
`
`(!xdr_nfstime(xdrs, &objp—>atime))
`return (FALSE);
`
`1f
`
`(!xdr_nfstime(xdrs, &objp—>mtime))
`return (FALSE);
`
`{
`
`{
`
`} r
`
`‘—I-’
`
`eturn (TRUE);
`
`><1><1><1><1><1><1><1><1><1><1><1><1><1><1><1><1><1><><1><><1><1
`
`Xboo1_t
`
`Xxdr_fi1ename(xdrs, objp)
`X
`XDR *xdrs;
`
`filename *objp;
`
`if (!xdr_string(xdrs, objp, NFS_MAXNAMLEN))
`return (FALSE);
`
`{
`
`} r
`
`eturn (TRUE);
`
`X
`
`X{
`
`X
`
`><1><1><1><1><1
`
`Xboo1_t
`
`Xxdr_nfspath(xdrs, objp)
`X
`XDR *xdrs;
`
`nfspath *objp;
`
`if (!xdr_string(xdrs, objp, NFS_MAXPATHLEN))
`return (FALSE);
`
`{
`
`} r
`
`eturn (TRUE);
`
`X
`
`X{
`
`X
`
`><1><1><1><1><1
`
`Xboo1_t
`
`Xxdr_attrstat(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`X{
`
`X
`X
`
`X
`
`X
`X
`X
`X
`
`attrstat *objp;
`
`if (!xdr_nfsstat(xdrs, &objp—>status))
`return (FALSE);
`
`{
`
`}
`
`{
`
`switch (objp—>status)
`case NFS_OK:
`if (!xdr_fattr(xdrs, &objp—>attrstat_u.attributesbgfiéonerC”ack%Apme__Exmbfl1010__Page288
`return (FALSE);
`EXNbflD
`
`

`
`} b
`
`reak;
`
`} r
`
`eturn (TRUE);
`
`><1><1><1><1><1.’><1
`
`Xboo1_t
`
`Xxdr_sattrargs(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`X{
`
`X
`X
`
`X
`
`X
`X
`
`X
`X
`
`sattrargs *objp;
`
`if (!xdr_nfs_fh(xdrs, &objp->fi1e))
`return (FALSE);
`
`{
`
`}
`
`if (!xdr_sattr(xdrs, &objp—>attributes))
`return (FALSE);
`
`{
`
`}
`return (TRUE);
`
`X}
`
`X X
`
`boo1_t
`
`Xxdr_diropargs(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`X{
`
`X
`X
`
`X
`
`X
`X
`
`X
`X
`
`diropargs *objp;
`
`if (!xdr_nfs_fh(xdrs, &objp—>dir))
`return (FALSE);
`
`{
`
`}
`
`if (!xdr_fi1ename(xdrs, &objp->name))
`return (FALSE);
`
`{
`
`}
`return (TRUE);
`
`X}
`
`X X
`
`boo1_t
`
`Xxdr_diropokres(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`X{
`
`X
`X
`
`X
`
`X
`X
`
`X
`X
`
`diropokres *objp;
`
`if (!xdr_nfs_fh(xdrs, &objp->fi1e))
`return (FALSE);
`
`{
`
`}
`
`if (!xdr_fattr(xdrs, &objp->attributes))
`return (FALSE);
`
`{
`
`}
`return (TRUE);
`
`X}
`
`X X
`
`boo1_t
`
`Xxdr_diropres(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`X{
`
`X
`
`X
`X
`
`diropres *objp;
`
`if (!xdr_nfsstat(xdrs, &objp—>status))
`
`{
`
`}
`
`return (FALSE) 7
`
`EXNbflD
`
`Petitioner Oracle-Apple — Exhibit 1010 — Page 289
`
`

`
`X
`X
`
`X
`X
`
`X
`X
`
`X
`X
`
`switch (objp—>status)
`case NFS_OK:
`
`{
`
`if (!xdr_diropokres(xdrs, &objp—>diropres_u.diropres))
`return (FALSE);
`
`{
`
`}
`break;
`
`}
`return (TRUE);
`
`X}
`
`X X
`
`boo1_t
`
`Xxdr_read1inkres(xdrs, objp)
`X
`XDR *xdrs;
`N
`
`readlinkres *objp;
`
`if (!xdr_nfsstat(xdrs, &objp—>status))
`return (FALSE);
`
`{
`
`{
`
`} s
`
`witch (objp—>status)
`case NFS_OK:
`
`if (!xdr_nfspath(xdrs, &objp—>read1inkres_u.data))
`return (FALSE);
`
`{
`
`} b
`
`reak;
`
`} r
`
`eturn (TRUE);
`
`I—’‘-\
`
`‘—é
`
`><1><1><1><1><1><1><1><1><1><1><1><1><1><1
`
`Xboo1_t
`
`Xxdr_readargs(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`X{
`
`X
`X
`
`X
`
`X
`X
`
`X
`
`X
`X
`
`X
`
`X
`X
`
`X
`X
`
`readargs *objp;
`
`if (!xdr_nfs_fh(xdrs, &objp->fi1e))
`return (FALSE);
`
`}
`
`if (!xdr_u_int(xdrs, &objp—>offset))
`return (FALSE);
`
`}
`
`if (!xdr_u_int(xdrs, &objp—>count))
`return (FALSE);
`
`{
`
`{
`
`{
`
`}
`
`if (!xdr_u_int(xdrs, &objp->tota1count))
`return (FALSE);
`
`{
`
`}
`return (TRUE);
`
`X}
`
`X X
`
`boo1_t
`
`Xxdr_readokres(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`X{
`
`X
`
`X
`X
`
`readokres *objp;
`
`if (!xdr_fattr(xdrs, &objp->attributes))
`
`{
`
`}
`
`return (FALSE) "
`
`EXNbflD
`
`Petitioner Oracle-Apple — Exhibit 1010 — Page 290
`
`

`
`X
`
`if (!xdr_bytes(xdrs,
`
`(char **)&objp—>data.data_va1,
`
`(u_int *)&objp—>data.data_1en,
`
`{
`NFS_MAXDATA))
`X
`return (FALSE);
`
`X}
`X
`return (TRUE);
`
`X}
`
`X X
`
`boo1_t
`
`Xxdr_readres(xdrs, objp)
`X
`XDR *xdrs;
`><1
`
`readres *objp;
`
`if (!xdr_nfsstat(xdrs, &objp—>status))
`return (FALSE);
`
`{
`
`{
`
`} s
`
`witch (objp—>status)
`case NFS_OK:
`
`if (!xdr_readokres(xdrs, &objp->readres_u.rep1y))
`return (FALSE);
`
`{
`
`} b
`
`reak;
`
`} r
`
`eturn (TRUE);
`
`1-A-\
`
`‘—é
`
`><1><1><1><1><1><1><1><1><1><1><1><1><1><1
`
`Xboo1_t
`
`Xxdr_writeargs(xdrs, objp)
`X
`XDR *xdrs;
`
`X writeargs *objp;
`
`X{
`
`X
`X
`
`X
`
`X
`X
`
`X
`
`X
`X
`
`X
`
`X
`X
`
`X
`X
`
`if (!xdr_nfs_fh(xdrs, &objp->fi1e))
`return (FALSE);
`
`{
`
`}
`
`if (!xdr_u_int(xdrs, &objp—>beginoffset))
`return (FALSE);
`
`{
`
`}
`
`if (!xdr_u_int(xdrs, &objp—>offset))
`return (FALSE);
`
`{
`
`}
`
`if (!xdr_u_int(xdrs, &objp->tota1count))
`return (FALSE);
`
`{
`
`}
`if (!xdr_bytes(xdrs,
`
`(char **)&objp—>data.data_va1,
`
`(u_int *)&objp—>data.data_1en,
`
`{
`NFS_MAXDATA))
`X
`return (FALSE);
`
`X
`X
`
`}
`return (TRUE);
`
`X}
`
`X X
`
`boo1_t
`
`Xxdr_createargs(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`X{
`X
`X
`
`createargs *objp;
`
`if "Xdr—dir°Par9S‘XdrS' &°bjP‘>‘"here” {
`return (FALSE);
`EXNbflD
`
`PetitionerOrac|e-App|e-Exhibit1010-Page291
`
`

`
`} i
`
`f (!xdr_sattr(xdrs, &objp—>attributes))
`return (FALSE);
`
`{
`
`} r
`
`eturn (TRUE);
`
`><1><1><1><1><1><1.'><1
`
`Xboo1_t
`
`Xxdr_renameargs(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`X{
`
`X
`X
`
`X
`
`X
`X
`
`X
`X
`
`renameargs *objp;
`
`if (!xdr_diropargs(xdrs, &objp—>from))
`return (FALSE);
`
`{
`
`}
`
`if (!xdr_diropargs(xdrs, &objp—>to))
`return (FALSE);
`
`{
`
`}
`return (TRUE);
`
`X}
`
`X X
`
`boo1_t
`
`Xxdr_1inkargs(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`X{
`
`X
`X
`
`X
`
`X
`X
`
`X
`X
`
`linkargs *objp;
`
`if (!xdr_nfs_fh(xdrs, &objp->from))
`return (FALSE);
`
`{
`
`}
`
`if (!xdr_diropargs(xdrs, &objp—>to))
`return (FALSE);
`
`{
`
`}
`return (TRUE);
`
`X}
`
`X X
`
`boo1_t
`
`Xxdr_sym1inkargs(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`X{
`
`X
`X
`
`X
`
`X
`X
`
`X
`
`X
`X
`
`X
`X
`
`symlinkargs *objp;
`
`if (!xdr_diropargs(xdrs, &objp—>from))
`return (FALSE);
`
`{
`
`}
`
`if (!xdr_nfspath(xdrs, &objp—>to))
`return (FALSE);
`
`{
`
`}
`
`if (!xdr_sattr(xdrs, &objp—>attributes))
`return (FALSE);
`
`{
`
`}
`return (TRUE);
`
`X}
`
`X X
`
`boo1_t
`
`Xxdr_nfscookie(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`nfscookie objp;
`EXMDHD
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 292
`
`

`
`X{
`
`X
`X
`
`if (!xdr_opaque(xdrs, objp, NFS_COOKIESIZE))
`return (FALSE);
`
`{
`
`X}
`X
`return (TRUE);
`
`X}
`
`X X
`
`boo1_t
`
`Xxdr_readdirargs(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`X{
`
`X
`X
`
`X
`
`X
`X
`
`X
`
`X
`X
`
`X
`X
`
`readdirargs *objp;
`
`if (!xdr_nfs_fh(xdrs, &objp->dir))
`return (FALSE);
`
`{
`
`}
`
`if (!xdr_nfscookie(xdrs, objp—>cookie))
`return (FALSE);
`
`{
`
`}
`
`if (!xdr_u_int(xdrs, &objp—>count))
`return (FALSE);
`
`{
`
`}
`return (TRUE);
`
`X}
`
`X X
`
`boo1_t
`
`Xxdr_entry(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`X{
`
`X
`X
`
`X
`
`X
`X
`
`X
`
`X
`X
`
`X
`
`X
`X
`
`X
`X
`
`entry *objp;
`
`if (!xdr_u_int(xdrs, &objp—>fi1eid))
`return (FALSE);
`
`{
`
`}
`
`if (!xdr_fi1ename(xdrs, &objp->name))
`return (FALSE);
`
`{
`
`}
`
`if (!xdr_nfscookie(xdrs, objp—>cookie))
`return (FALSE);
`
`{
`
`}
`
`if (!xdr_pointer(xdrs,
`return (FALSE);
`
`}
`return (TRUE);
`
`(char **)&objp->nextentry, sizeof(entry), xdr_entry))
`
`{
`
`X}
`
`X X
`
`boo1_t
`
`Xxdr_dir1ist(xdrs, objp)
`X
`XDR *xdrs;
`
`X
`
`X{
`
`X
`X
`
`X
`
`X
`X
`
`X
`X
`
`dirlist *objp;
`
`if (!xdr_pointer(xdrs,
`return (FALSE);
`
`}
`
`(char **)&objp—>entries, sizeof(entry), xdr_entry))
`
`{
`
`if (!xdr_boo1(xdrs, &objp—>eof))
`return (FALSE);
`
`{
`
`}
`return (TRUE);
`EXNbflD
`
`Petitioner Oracle-Apple - Exhibit 1010 - Page 293
`
`

`
`X}
`
`X X
`
`boo1_t
`
`Xxdr_readdirres(xdrs, objp)
`X
`XDR *xdrs;
`N
`
`readdirres *objp;
`
`if (!xdr_nfsstat(xdrs, &objp—>status))
`return (FALSE);
`
`{
`
`{
`
`} s
`
`witch (objp->status)
`case NFS_OK:
`
`if (!xdr_dir1ist(xdrs, &objp—>readdirres_u.reply))
`return (FALSE);
`
`{
`
`} b
`
`reak;
`
`} r
`
`eturn (TRUE);
`
`I-’‘-\
`
`‘—I-’
`
`><1><1><1><1><1><1><1><1><1><1><1><1><1><1
`><1><1><1><1><1><1><1><1><1><1><1><1><1><1><1><1><1><1><1
`
`Xboo1_t
`
`Xxdr_statfsokres(xdrs, objp)
`X
`XDR *xdrs;
`N
`
`statfsokres *objp;
`
`{
`
`{
`
`{
`
`{
`
`{
`
`if (!xdr_u_int(xdrs, &objp—>tsize))
`return (FALSE);
`
`1f
`
`(!xdr_u_int(xdrs, &objp—>bsize))
`return (FALSE);
`
`(!xdr_u_int(xdrs, &objp—>b1ocks))
`return (FALSE);
`
`1f
`
`‘—I-’
`
`if (!xdr_u_int(xdrs, &objp—>bfree))
`return (FALSE);
`
`1f
`
`(!xdr_u_int(xdrs, &objp->bavai1))
`return (FALSE);
`
`} r
`
`eturn (TRUE);
`
`I-’‘-\
`
`‘—I-’
`
`Xboo1_t
`
`Xxdr_statfsres(xdrs, objp)
`X
`XDR *xdrs;
`><1
`
`statfsres *objp;
`
`if (!xdr_nfsstat(xdrs, &objp—>status))
`return (FALSE);
`
`{
`
`{
`
`} s
`
`witch (objp->status)
`case NFS_OK:
`
`if (!xdr_statfsokres(xdrs, &objp—>statfsres_u.reply))
`
`{
`
`return (FALSE) "
`
`}
`
`Exhibit D
`
`Petitioner Oracle-Apple — Exhibit 1010 — Page 294
`
`:—’~
`
`><1><1><1><1><1><1><1><1.'><1
`
`

`
`X
`
`X
`X
`
`break;
`
`}
`return (TRUE);
`
`X}
`END—of—nfsproto_xdr.c
`
`echo x — admproto_c1nt.c
`
`sed 's/‘X//' >admproto_c1nt.c << 'END—of—admproto_c1nt.c'
`X/*
`X * Please do not edit this file.
`
`X * It was generated using rpcgen.
`X */
`
`X X
`
`#inc1ude <rpc/rpc.h>
`
`X#inc1ude "admproto.h"
`
`X X
`
`/* Default timeout can be changed using c1nt_contro1() */
`
`Xstatic struct timeval TIMEOUT = { 25,
`
`0 };
`
`X X
`
`void *
`
`Xadmproc_nu11_2(argp, clnt)
`X
`void *argp;
`N
`CLIENT *clnt;
`
`static char res;
`
`bzero((char *)&res, sizeof(res));
`
`if (c1nt_ca11(c1nt, ADMPROC_NULL, xdr_Void, argp, xdr_Void, &res, TIMEOUT)
`return (NULL);
`
`!= RPC_SUCCESS)
`
`{
`
`} r
`
`eturn ((void *)&res);
`
`I-"-\
`
`NN><NNN><NNN ‘—I-’
`
`Xcfsstat *

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket