| Siguiente: Cambios al cliente Superior: Mejorando NFS Anterior: Bibliografía |
struct copyargs {
nfs_fh filedest;
nfs_fh filesrc;
u_int offsetdest;
u_int offsetsrc;
u_int count;
host hostname;
};
typedef struct copyargs copyargs;
struct copyokres {
fattr attributesdest;
fattr attributessrc;
u_int count;
struct {
u_int data_len;
char *data_val;
} data;
};
typedef struct copyokres copyokres;
struct copyres {
nfsstat status;
union {
copyokres reply;
} copyres_u;
};
typedef struct copyres copyres;
Descripción del programa de NFS con la nueva operación de copia.
program NFS_PROGRAM {
version NFS_VERSION {
void
NFSPROC_NULL(void) = 0;
attrstat
NFSPROC_GETATTR(nfs_fh) = 1;
attrstat
NFSPROC_SETATTR(sattrargs) = 2;
void
NFSPROC_ROOT(void) = 3;
diropres
NFSPROC_LOOKUP(diropargs) = 4;
readlinkres
NFSPROC_READLINK(nfs_fh) = 5;
readres
NFSPROC_READ(readargs) = 6;
void
NFSPROC_WRITECACHE(void) = 7;
attrstat
NFSPROC_WRITE(writeargs) = 8;
diropres
NFSPROC_CREATE(createargs) = 9;
nfsstat
NFSPROC_REMOVE(diropargs) = 10;
nfsstat
NFSPROC_RENAME(renameargs) = 11;
nfsstat
NFSPROC_LINK(linkargs) = 12;
nfsstat
NFSPROC_SYMLINK(symlinkargs) = 13;
diropres
NFSPROC_MKDIR(createargs) = 14;
nfsstat
NFSPROC_RMDIR(diropargs) = 15;
readdirres
NFSPROC_READDIR(readdirargs) = 16;
statfsres
NFSPROC_STATFS(nfs_fh) = 17;
copyres
NFSPROC_COPY(copyargs) = 18;
} = 2;
} = 100003;